Aqui estão os passos. Este procedimento é baseado em Como: Compilar o kernel 2.6 do nixCraft - mas modernizado consideravelmente.
Faça o download e extraia o código fonte do kernel que você deseja construir.
Você pode obter o código-fonte upstream do kernel em kernel.org . A versão 3.16.1 (o último kernel estável até o momento da redação deste documento) será usada aqui. Portanto, pode ser necessário modificar esses comandos se você estiver usando uma versão diferente.
O código fonte do kernel é atualmente fornecido em. alcatrão . arquivos xz , clique no link "tar.xz" da versão que desejar:
Após cd
acessar o diretório em que você baixou o arquivo, é possível extraí-lo com tar
:
tar xf linux-3.16.1.tar.xz
Instale as ferramentas de construção necessárias e execute a configuração do kernel.
Para obter o conjunto de ferramentas do Ubuntu ( gcc
, make
e assim por diante), instale o metapacote essencial da compilação :
sudo apt-get update
sudo apt-get install build-essential
Duas maneiras razoavelmente fáceis de usar para configurar o que entra no seu kernel são fornecidas pelos make
destinos xconfig
e menuconfig
.
xconfig
executa um utilitário de configuração gráfica, enquanto menuconfig
é baseado em texto (ou seja, sua interface aparece totalmente dentro do seu terminal). Cada um requer algum software adicional não fornecido pelo essencial da compilação .
Para configurar graficamente , instale libqt4-dev e pkg-config e executemake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Para configurar no terminal , instalelibncurses5-dev
(obrigado a Hannu por esta informação) e executemake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Crie o kernel configurado.
Primeiro, execute isso para compilar o kernel e criar vmlinuz
:
make
vmlinuz
é "o kernel". Especificamente, é a imagem do kernel que será descompactada e carregada na memória pelo GRUB ou qualquer outro carregador de inicialização que você usar.
Em seguida, construa os módulos carregáveis do kernel :
make modules
Instale seu kernel recém-construído.
Supondo que esses make
comandos foram concluídos com sucesso, é hora de instalar o novo kernel. Primeiro instale os módulos:
sudo make modules_install
Em seguida, instale o próprio kernel :
sudo make install
Isso coloca vmlinuz-3.16.1
(uma cópia de vmlinuz
), config-3.16.1
(um arquivo de texto que armazena os parâmetros de configuração do kernel) e System.map-3.16.1
(a tabela de pesquisa de símbolos do kernel ) /boot
. Para mais detalhes, consulte esta publicação comp.os.linux.misc de Hadron e man installkernel
.
Configuração final, para que o kernel possa ser iniciado e inicialize o sistema:
Esta seção é parcialmente baseada nas informações do Kernel / Compile .
Com o kernel agora onde precisa estar, ele precisa:
Gere seus initramfs commkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Quando você atualiza a configuração do carregador de inicialização GRUB2 - que é o padrão no Ubuntu desde 9.10 - deve detectar automaticamente o novo kernel e adicionar uma opção para inicializá-lo.
sudo update-grub
Experimente o seu kernel.
Agora você pode reiniciar para testar seu novo kernel. Pode ser necessário manter pressionado Shiftou pressionar Escdurante a inicialização para ver o menu de inicialização do GRUB, onde você pode selecionar entre os diferentes kernels instalados.
Para tornar seu kernel (ou outro) o padrão, consulte Como altero a ordem de inicialização do GRUB?