Compilando o kernel 2.6.20.1 no kubuntu 6.10 edgy da forma correta
Esse tutorial , me rendeu algumas semanas e muitas horas de pesquisa até conseguir fazer funcionar a versão do kernel compilada. primeiro segui a lei do google e pesquisei em diversos artigos , tutoriais dicas e how-tos , mas nenhum dele fez funcionar direito, parava de funcionar na hora que estava carregando. Graças ao Anderson Gama , um dos lideres do projeto kubuntu-br que me deu uma dica que fez finalmente dar tudo certo.”Lembrando que em linux não existe forma correta, existe a forma adequada, e de acordo com os tempos essa forma adequada muda e com isso o que é certo hoje amanhã pode não ser, esse tutorial eu fiz como um guia de referencia própria que em outros casos posteriores pode não funcionar, então use mais de uma referencia caso o que você queira e não funcione da forma correta quando você seguiu fielmente os passos dados pelo autor do tutorial e aprenda sempre a usar o google antes de sair perguntado”
Lembrando que você precisa conhecer um pouco sobre hardware e já ter um pouco de conhecimento com o linux.
Então vamos começar.
Agora mude deu usuario
sudo -i
mude o link do shell
# ln -s /bin/bash /bin/sh
Instale esses pacotes necessários
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
agora entre no diretorio /usr/src/
#cd /usr/src/
agora vamos baixar o source do kernel
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.1.tar.bz2
Descompate
# tar xjf linux-2.6.20.1.tar.bz2
Agora entre no diretorio
# cd linux-2.6.20.1
Agora vamos copiar a config padrao do kernel atual para servir de exemplo
#cp /boot/config-`uname -r` ./.config
Agora vamos da o comando para ele fazer a adaptação do kernel para o kubuntu ou ubuntu
Esse método foi a única maneira certa de carregar realmente todos os módulos específicos do ubuntu, esse método foi a única maneira que fez a compilação do kernel realmente dar certo, o método comum no meu caso ficou faltando outros módulos específicos e quando o kernel carregava ele parava no meio por falta de determinados módulos.
#make-kpkg --append-to-version 6.10 --revision ubuntu --us --uc binary
Agora vamos abrir o make menuconfig
#make menuconfig
Agora ele ele não vai abrir o menu, ele vai fazer a revisão do seu kernel novo em modo texto de maneira sugestiva ele faz perguntas, isso vai exigir de você quase uma hora e bastante
paciência e principalmente um certo conhecimento em hardware, uma dica é deixar o que as opções n e m? em (m) e o que voce não sabe em( y) , e principalmente escolha o processador certo ,no meu caso só consegui fazer o novo kernel funcionar dessa forma, que não tem em outro tutorial pela internet.
Logo após fazer a revisão, vamos realmente compilar o kernel com esse comando, lembrando que –append-to-version=-teste no lugar do -teste voce pode botar o que voce quiser .
#fakeroot make-kpkg --initrd --append-to-version=-teste kernel_image kernel_headers
Após algumas horas ele irá gerar dois .deb , nesse nosso caso ele vai gerar o helder e a imagem, que vão ficar no diretorio /usr/src/
linux-headers-2.6.20.1-teste_2.6.20.1-teste-10.00.Custom_i386.deb
linux-image-2.6.20.1-teste_2.6.20.1-teste-10.00.Custom_i386.deb
Faça o backup de seu menu do grub
#cp /boot/grub/menu.lst /boot/grub/menu.lst3
caso aconteça algum problema basta restaurar o menu
Agora instale primeiro o helder e depois a imagem
dpkg -i linux-headers-2.6.20.1-teste_2.6.20.1-teste-10.00.Custom_i386.deb
#dpkg -i linux-image-2.6.20.1-teste_2.6.20.1-teste-10.00.Custom_i386.deb
depois digite exit para sair do super usuário
exit
vai no Grub e desabilita o splash
sudo gedit /boot/grub/menu.lst ,caso o gedit nao esteja instalado use sudo kate /boot/grub/menu.lst
title Ubuntu, kernel 2.6.20.1-teste
root (hd0,2)
kernel /boot/vmlinuz-2.6.20.1-teste root=/dev/sda3
## ro quiet splash "essa parte é a que vai ser desablitáda "
initrd /boot/initrd.img-2.6.20.1-teste
quiet
savedefault
boot
a opção ro quiet splash , fica logo após o caminho para a parte do hd que está o linux nesse caso a root=/dev/sda3 , basta dar um enter e comentar ## ro quiet splash, caso exista outros kernels no menu com splash , sugiro desabilitar também , porque pode dar interferência. desabilitando o splash você vai poder ver os erros , se por acaso ele existam.
Reinicie seu sistema e entre pelo kernel que você compilou, se você ajustou corretamente no revision ele vai entrar normalmente sem travar no meio.
julio@julio:/usr/src$ uname -a
Linux julio 2.6.20.1-teste #1 SMP Tue Mar 13 00:45:18 BRT 2007 i686 GNU/Linux
Pra mim o importante é compartilhar o conhecimento, por que tudo vem aos poucos, e nada vem de graça , basta ter paciência ter muita curiosidade e um pouco de dedicação.
Referências usadas
http://www.howtoforge.com/kernel_compilation_ubuntu
http://wiki.linuxbaja.org/doku.php?id=recompilar_ubuntu
http://penguim.wordpress.com/2006/11/14/compilando-o-kernel-no-ubuntu-linux/
http://br.kernelnewbies.org/docs/howto/kernel-new/x319.html
Bom proveito .
