Aqui estão os passos. Este procedimento é baseado no nixCraft 's Como: Compilar o kernel Linux 2.6 - mas modernizado consideravelmente.
Faça o download e extraia o código-fonte do kernel que você deseja construir.
Você pode obter código-fonte do kernel upstream em kernel.org . Versão 3.16.1 (o kernel estável mais recente no momento em que escrevo) será usado aqui. Então você pode precisar modificar esses comandos se estiver usando uma versão diferente.
O código-fonte do kernel é atualmente fornecido em tar . xz arquivos, então clique no link" tar.xz "pela versão que quiser:
Após cd
para o diretório onde você baixou o arquivo, você pode extraí-lo com < href="http://manpages.ubuntu.com/manpages/man1/tar.1.html"> tar
:
tar xf linux-3.16.1.tar.xz
Instale as ferramentas de criação necessárias e execute a configuração do kernel.
Para obter o toolchain do Ubuntu ( gcc
, make
e assim por diante) instale o build-essential meta-pacote:
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
targets xconfig
e menuconfig
.
xconfig
executa um utilitário de configuração gráfica, enquanto menuconfig
é baseado em texto (ou seja, sua interface aparece totalmente no seu terminal). Cada um requer algum software adicional não fornecido por build-essential .
Para configurar graficamente, instale o libqt4-dev img src="https://hostmar.co/software-small"> e
pkg-config < img src="https://hostmar.co/software-small"> e execute
make xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Para configurar no terminal , instale libncurses5-dev
(graças a Hannu para esta informação) e execute make menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Construa 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 por GRUB ou qualquer outro gerenciador de partida que você usa.
Em seguida, crie os módulos de kernel carregáveis :
make modules
Instale seu kernel recém-construído.
Assumindo que os comandos make
foram concluídos com sucesso, é hora de instalar o novo kernel. Primeiro instale os módulos:
sudo make modules_install
Em seguida, instale o kernel :
sudo make install
Isso coloca vmlinuz-3.16.1
(uma cópia de vmlinuz
), config-3.16.1
(um arquivo de texto armazenando parâmetros de configuração do kernel) e System.map-3.16.1
(o Tabela de pesquisa de símbolos do kernel ) em /boot
. Para mais detalhes, veja este post comp.os.linux.misc por Hadron e man installkernel
.
Configuração final, para que o kernel possa ser iniciado e inicializar o sistema:
Esta seção é parcialmente baseada em informações em Kernel / Compile .
Com o kernel agora onde ele precisa estar, é necessário:
Gere seu initramfs com mkinitramfs
:
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 tem sido o padrão no Ubuntu desde 9.10-- deve detectar automaticamente o novo kernel e adicionar uma opção para inicializar a partir dele.
sudo update-grub
Experimente o seu kernel.
Agora você pode reinicializar para testar seu novo kernel. Você pode precisar manter pressionado Shift durante 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, veja Como altero a ordem de inicialização do GRUB?