Um passo-a-passo bem simples e prático na hora da recompilação.
A recompilação do kernel tem de ser extremamente observada. É nela que você poderá colocar suporte a muitos hardwares, habilitar recursos do kernel (como firewall e compartilhamento NAT), entre outras coisas. Muitas distribuições incluem kernels já compilados e prontos para usar, mas é sempre recomendado que você compile o seu kernel para otimizá-lo conforme suas necessidades, e claro, para aprender também! Vou explicar aqui passo-a-passo como se dá o processo de recompilação do kernel. Lembrando que toda operação deverá ser feita com o root.Passo 1:
# cd /usr/src
# rm -rf linux
# tar zpvfx /diretorio/linux-2.x.x.tar.gz
# ln -s linux-2.x.x linux
# cd linux
Pode acontecer de você pegar kernels compactados com .bz2, veja a seção de "Outros comandos" para obter uma ajuda mais ampla para descompactar isto. Alguns arquivos quando descompactados já criam o diretório 'linux', então não é preciso você ter de fazer o link simbólico (comando 'ln -s linux-2.x.x linux').
Passo 2:
# make menuconfig
# make dep
# make clean
# make bzImage
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.x.x
O 'make menuconfig' gera um menu gráfico no console, você pode substituir este comando por outros, que são: 'make config' (modo terminal, sem gráficos, vai perguntando opção por opção e não é recomendado) e 'make xconfig' (modo gráfico com janelas, só roda no X-Window).
O 'make dep' cria as dependências que a compilação do kernel vai usar. O 'make clean' apaga arquivos que já estão compilados para poder compilá-los de novo.O 'make bzImage' vai criar uma imagem do kernel compactada com o bzip2 (que é mais eficiente que o gzip). O recomendável é você usar o bzImage, mas você também pode usar o 'make zImage', que cria uma imagem compactada com gzip ou pode usar o 'make zdisk', que faz a imagem e cria um disco de boot, ou pode usar 'make zlilo', que faz a imagem e reinstala o LILO).
O 'cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.x.x' copia a imagem para o diretório /boot, com o nome de vmlinuz-2.x.x. Substitua o .x.x pela versão do seu kernel. Esta informação será útil quando você for configurar o LILO para bootar com essa nova imagem. Veja a configuração do LILO ou do GRUB também.Passo 3:
# make modules# make modules_install
# lilo
# reboot
O 'make modules' cria os módulos que você configurou no 'make menuconfig' e o 'make modules_install' instala estes módulos compilados no diretório /lib/modules. O 'lilo' reinstala o LILO, para obter mais detalhes, veja sobre a configuração do LILO, e só utilize este comando se você estive rodando o lilo e não o GRUB (geralmente quando se está usando o GRUB, o arquivo "/etc/lilo.conf" não existe ou está vazio. E por último, o 'reboot', que reseta a máquina para que seu kernel novo funcione.
Se você usa GRUB, não se esqueça de alterar o arquivo "/boot/grub/menu.lst" e adicione na opção 'kernel' o caminho da sua imagem do kernel recém-criada. No caso do GRUB, não é preciso executar nenhum comando, é só salvar o arquivo que as configurações estarão feitas.
A recompilação do kernel é a única coisa no Linux que necessita reiniciar a máquina!
Passo alternativo:
As instruções acima foram para a compilação de um upgrade do kernel. Se você quiser recompilar o kernel somente para adicionar e/ou retirar coisas, você vai ao diretório '/usr/src/linux' e executa o passo 2.
Espero ter sido claro, até a proxima!!!
