Este artigo aborda a recompilação do kernel utilizando as ferramentas exclusivas de auxílio à tarefa presentes no Debian. Nunca foi tão fácil recompilar um kernel.
2. Agora entre no diretório /usr/src, que é onde o source do novo kernel deverá estar. Nota: caso o kernel não esteja no diretório, mova-o para lá.
3. Deszipe e descompacte o arquivo e crie o link simbólico necessário para a compilação
com os seguintes comandos:
bunzip2 kernel-source-2.4.18.tar.bz2
tar xvf kernel-source-2.4.18.tar
ln -sf /usr/src/kernel-source-2.4.18 /usr/src/linux
4. Entre no diretório /usr/src/linux que agora iremos começar a compilação em si (uhuuuu!!).
Digite os seguintes comandos:
make xconfig - (também pode ser usado "make menuconfig", caso você não esteja
em um ambiente gráfico).
Em seguida abrirá uma interface gráfica para selecionar os módulos que você deseja
ter no seu kernel. Infelizmente essa parte não dá para se dar muitas dicas, pois
os módulos variam de acordo com a necessidade de cada usuário, então fica a seu
critério a seleção dos mesmos. Feche o menu salvando as configurações.
make-kpkg -rev Custom.1 kernel_image - o nome custom pode ser mudando para
um de sua preferência. Ex: kernel.1 ou albertoc.1)
O make-kpkg irá gerar um arquivo com extensão .deb no diretório /usr/src.
dpkg -i kernel-image-2.4.18_Custom.1_i386.deb - este comando irá instalar a
nova versão do seu kernel. O nome do pacote .deb irá variar de acordo com a
versão e sua escolha no feita no comando make-kpkg.
Pronto, seu Kernel está recompilado! A instalação do pacote automaticamente renova seu lilo
para que no próximo boot você já possa utilizar seu novo kernel. (:
Caso seu gerenciador de boot seja outro (Ex.: Grub), dê um restart no mesmo.
Nota: mesmo com a renovação automática do lilo, aconselho a execução manual do
comando lilo -v, só por segurança.
5. Por fim, reinicie sua máquina.
Nota final: caso algo dê errado ou você esqueceu de acrescentar algum módulo,
rode o comando make-kpkg clean e recomece o processo a partir do passo 4.
[1] Comentário enviado por obake em 20/02/2004 - 14:39h
Vale lembrar q vc pode pegar os sources do kernel em www.kernel.org (Eh util pois os sources oficiais do debian quase sempre estao desatualizados) E compilar do mesmo jeito
[2] Comentário enviado por andrericardo em 15/03/2004 - 12:21h
Fantástico Alberto, d+ mesmo, me ajudou muito esse dica, só uma pergunta para o kernel 2.6.3, mantém os mesmos comando e sequência, ou muda alguma coisa devido a ser uma versão muito recente do kernel?
[4] Comentário enviado por fftrebor em 11/05/2004 - 12:18h
Estou com um problema. Seguí os passos descritos no artigo e estou recebendo dois erros.
Erro 1:
libretto:/usr/src/linux# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts kconfig.tk
make[1]: Entering directory `/usr/src/kernel-source-2.4.18/scripts'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkparse.o tkparse.c
tkparse.c:48: stdio.h: No such file or directory
tkparse.c:49: stdlib.h: No such file or directory
tkparse.c:50: string.h: No such file or directory
make[1]: *** [tkparse.o] Error 1
make[1]: Leaving directory `/usr/src/kernel-source-2.4.18/scripts'
make: *** [xconfig] Error 2
Tentei então a alternativa mencionada também no script e me deparei com outro.
Erro 2:
libretto:/usr/src/linux# make menuconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts/lxdialog all
make[1]: Entering directory `/usr/src/kernel-source-2.4.18/scripts/lxdialog'
/usr/bin/ld: cannot open crt1.o: No such file or directory
collect2: ld returned 1 exit status
>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'
[6] Comentário enviado por albertoc em 13/05/2004 - 16:47h
Na hora do boot vc fica pressionando ctrl+shift, irá aparecer a janela do lilo pra vc, umas das opções será linuxold (que é seu kernel antigo), escolha-o e dê enter que tudo voltará ao normal.
Já vi problemas parecido com o seu (já passei por alguns tb), e foi devido aos modulos que eu escolhi, algumas vezes modulos que vc escolhe e nao serao usados efetivamente podem causar problemas, reveja esta parte se possível.
[7] Comentário enviado por Doubt em 20/07/2004 - 09:01h
Caro amigo, eu posso utilzar este artigo para compilar o kernel 2.6 no debian? ou teria algo a mais para fazer?????
A qual seria o repositorio para eu colocar no source.list para este processo??
[8] Comentário enviado por albertoc em 20/07/2004 - 09:55h
Voce utiliza da mesma maneira para qualquer kernel. A source list da versao stable do debian já tem os pacotes necessários para os passos da compilação (só não tenho certeza se vc vai conseguir baixar a versao mais nova do kernel via apt, mas qualquer coisa é só baixar de www.kernel.org).
Qualquer dúvida me escreve
:)
[10] Comentário enviado por fabio.freak em 08/04/2005 - 02:56h
tentei fazer conforme assim explicado, mas deu este erro:
*
* Unable to find the QT installation. Please make sure that the
* QT development package is correctly installed and the QTDIR
* environment variable is set to the correct location.
*
make[1]: ** [scripts/kconfig/.tmp_qtcheck] Erro 1
make: ** [xconfig] Erro 2
[11] Comentário enviado por albertoc em 13/04/2005 - 09:38h
isto ocorre ou poque vc nao tem tem o QT instalado em sua maquina (e é necessário para abrir o modo grafico) ou porque ele não está declaro em seu PATH.
Digita no shell: env (isto irá listar seu PATH) e verifica se tem algo assim:
QTDIR=/dironde/tao/qt
Caso voce realmente não tenha o QT existem 2 formar para tentar adiquiri-lo
1. No debian vc pode dar um apt-get install libqt3-mt (se eu nao me engano este pacote atende as necessidades)
2.Vai em http://www.trolltech.com/, faz o download do QT e compila na mao mesmo (a compilação demora bastante tempo, falo isso por experiencia propria pq ja fiz isto algumas vezes)
[18] Comentário enviado por removido em 06/04/2010 - 03:48h
albertoc,
É isso mesmo, cada vez que eu precisar recompilar meu kernel, eu preciso executar um "make-kpkg clean"???
Tipo, compilei o kernel e já foi gerados os pacotes *.deb. Mudo alguma opção com o "make menuconfig" e executo "make-kpkg clean" fazendo eu compilar tudo do zero, pois ele apaga toda a compilação anterior, certo! Não exite alguma opção que permita fazer somente a recompilação e atualizar o pacote gerado no final?