Compilando kernel no Debian com apenas dois comandos
Você é usuário iniciante do Debian GNU/Linux como
eu e quer compilar o kernel?
Alguns motivos para querer compilá-lo:
Atualização do kernel contra bugs;
Otimização do kernel para o seu hardware;
Curiosidade e coragem momentânea.
Bom, para compilar o kernel deste modo, você precisa baixar os fontes com o comando apt-get.
Procurando o pacote kernel-source:
$ apt-cache search kernel-source
Este comando trará uma série de versões dos fontes do kernel,
baixe a que você desejar, eu instalei a 2.6.8. O comando para
baixar e instalar (o source) é este:
# apt-get install kernel-source-2.6.8
Agora na pasta /usr/src haverá um tar.bz2 da versão que
você instalou, descompacte-a com "bunzip2" e em seguida "tar xvf".
Crie um link simbólico /usr/src/linux apontando para
/usr/src/fontedescompactado com o comando abaixo:
Pronto! Agora configure o kernel como deseja entrando na pasta
/usr/src/linux e digitando:
$ make menuconfig
Agora vamos compilar efetivamente:
Primeiro comando:
# make-kpkg --initrd kernel_image
OBS: O segredo está na opção "-- initrd", que já adiciona no grub
o kernel novo, pra usuário iniciante meeesmo! Talvez aqui ele dê
um "warning" dizendo que é melhor compilar deste jeito só se o
kernel foi homologado para o Debian. Como baixamos com apt-get,
não teremos problema com isso.
Agora vá tomar um café que esse processo demora!
Ao compilar, esse comando cria um pacote que é na verdade uma imagem do kernel na pasta /usr/src.
[2] Comentário enviado por Czuber em 07/10/2004 - 16:43h
Título: "Compilando o kernel com 2 comandos". Vc está certo! Realmente eu errei!
Deveria ser assim: "Compilando o kernel com 1 comando!"
O outro é pra instalar a imagem! E os outros comandos são para baixar, configurar, criar link... :P
[4] Comentário enviado por Czuber em 08/10/2004 - 14:45h
Bom, se vc quisesse acrescentar algo de útil à dica já poderia ter feito, não é meu objetivo ficar retornando alfinetadas de figuras como vc que adora criticar os outros mas ajudar que é bom :( Digo isso pq não é a primeira vez que leio comentários sem sentido seus!
Se só no seu "entender" compilar o kernel engloba td, será que vc é o único diferente? Eu tenho certeza que não, afinal, ngm pensa igual! ou os outros resolveram não perder tempo comentando algo inútil como vc ;)
Depois quando falam que os computeiros são arrogantes eles têm razão!
Tenho certeza que essa dica foi ou será muito útil aos usuários iniciantes como eu que às vezes precisam compilar o kernel com novos drivers, sei lá eu, e querem usar comandos que abstraem complexidades...
Não disse que este comando é uma melhor prática nem que todos deveríam usar, mas que é uma mão na roda, é! Foi mais como forma de curiosidade:
"compilar o kernel nunca foi tão fácil!"
Pena que vc não conseguiu ver utilidade, mas com certeza alguns perceberão!
[7] Comentário enviado por Czuber em 14/10/2004 - 13:27h
Bom, na configuração que veio no kernel 2.6.8 praticamente todos os drivers estavam setados! A maioria como módulo! Inclusive tive o mesmo problema que uma dica esclareceu pois o driver da Nvidia Riva estava habilitado e tentei instalar o driver da Geforce. Ele dizia que precisava descarregar o módulo antes!
Neste momento é importante conhecer bem seu hardware para otimizar ao máximo o kernel e tem alguns macetes do que deixar como módulo ou não que vc acha no google!
[8] Comentário enviado por elvio.tche em 16/10/2004 - 19:12h
Um detalhe importante a ser adicionado:
para executar "make-kpkg --initrd kernel_image" o usuário dever instalar o pacote. No meu caso não estava instalado.
Comando para instalção do 'kernel package':
apt-get install kernel-package
do contrário, não conseguirão prosseguir com a compilação/instalação do kernel.
[9] Comentário enviado por elvio.tche em 16/10/2004 - 19:29h
Mais um detalhe - Tentei compilar o kernel 2.6.8.1 e, depois daquele cafezinho básico de espera, surgiram algumas linhas finais de erro tipo:
Make[2]: ** [_modinst_post] Erro 1
...
Make[1]: ** [real_stamp_image] Erro 2
...
O que terá ocasionado tais mensagens ?
[11] Comentário enviado por toniati em 11/11/2004 - 08:16h
Caros...na hora do make menuconfig...aparece a seguinte msg
root@01-00697-00:/usr/src/linux# make menuconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts/lxdialog all
make: *** scripts/lxdialog: No such file or directory. Pare.
make: ** [menuconfig] Erro 2
[13] Comentário enviado por Czuber em 18/11/2004 - 08:44h
Ae pessoal,
Tais erros durante a compilação podem ser desde bugs do próprio Kernel a falta de pacotes instalados na sua máquina, como aparentemente é o caso do blood-eyes...
o 'comand not found' é sinal de que ele não encontrou o comando make, vc não fez nada de errado, talvez falte fazer alguma coisa, eu não sei qual o pacote, se é o gcc ou algum outro, vc precisa verificar... Acho difícil, mas se o pacote já estiver instalado de o caminho inteiro do comando...
# whereis make
depois
# /.../...make menuconfig
E não esqueçam de seguir a dica do nosso amigo elvio.tche, e instalem o kernel package
[15] Comentário enviado por Czuber em 11/02/2005 - 10:01h
Nesse caso Leonardo:
1.o Verifique se vc está utilizando a versão estável do Debian (Woody), talvez as novas versões do Kernel não estejam disponíveis por não estarem "estáveis"... Precisa ver se vc vai querer atualizar e tornar sua versão não tão estável qto a Woddy... Digo as versões Sarge ou Sid (a que eu utilizo sem problemas atualmente. Obs.: Para uso pessoal)
2.o Verifique o /etc/apt/sources.list se existem os repositórios básicos do Debian - onde vc encontra os sources dos Kernels novos (talvez só para o Sarge e o Sid)
[16] Comentário enviado por eternal em 18/03/2005 - 20:25h
Amigo, ao dar o make menuconfig aparece uma msg de erro dizendo q para executar esse comando tenho q ter neurse libraries q tem q instalar neurse-devel ou algo assim, e agora?
estou tento instalar o kernel 2.6.8 no debian SID (instalei o estable e depois dei um dist-upgrade para SID) jah instalei o kernel-package tb...
[17] Comentário enviado por Czuber em 30/03/2005 - 17:42h
Fiz exatamente isso qdo instalei o sarge e atualizei, coincidência... Só q no meu não deu erro de falta da biblioteca ncurses... Ncurses é a biblioteca responsável por montar layouts no terminal usando cores e janelas... O menuconfig utiliza essa biblioteca, por isso o erro!
Bom, nesse caso faça o que ele pede
Procure pelo pacote ncurses no apt-get
# apt-get search ncurses
Provavelmente deve ter lá um ncurses-devel, q é o que está faltando...
então vc instala e tenta novamente!
[18] Comentário enviado por Renan_ em 06/10/2005 - 18:46h
Tipo, segui todos os passos deste tutorial, porem com duas diferenças: usei um source pego do kernel.org, fiz tudo manualmente, e a outra foi que usei o make bzImage antes da criação do pacote .deb, pois requeria a imagem. Enfim, apos isso foi tudo 100%, soh falhou na instalação..
rnn:/usr/src# dpkg -i kernel-image-2.6.13.3_custom.1.0_i386.deb
Selecionando pacote previamente não selecionado kernel-image-2.6.13.3.
(Lendo banco de dados ... 98101 arquivos e diretórios atualmente instalados.)
Descompactando kernel-image-2.6.13.3 (de kernel-image-2.6.13.3_custom.1.0_i386.deb) ...
Instalando kernel-image-2.6.13.3 (custom.1.0) ...
find: /lib/modules/2.6.13.3/kernel/drivers: Arquivo ou diretório não encontrado
Mas ele instalou.. alguem me diz a solução pra linha acima ae?
porque sempre que tentei instalar este kernel, na inicialização diz:
modprobe: FATAL: Cant load /lib/modules/2.6.13.3/modules.dep: No such file or Directory.
[21] Comentário enviado por blackmano em 11/11/2006 - 11:56h
ja tentei fazer isso em tres máquinas mas sempre dá o mesmo erro:
debian:/usr/src/linux# make menuconfig
scripts/kconfig/mconf arch/i386/Kconfig
#
# using defaults found in .config
#
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
make[1]: ** [menuconfig] Erro 1
make: ** [menuconfig] Erro 2
[22] Comentário enviado por Czuber em 06/12/2006 - 18:06h
nhoj, o Debian que eu instalei escolhi o GRUB, por isso ele atualizou-o, talvez o LILO atualize sozinho também.
blackmano, de alguma forma a configuração do teu vídeo não está de acordo com o mínimo requerido, talvez pelo ncurses presumo eu. Verifique o xorg ou o XFConfig-4 para ajusta-lo de acordo com o teu monitor. Pode ser isso...
[25] Comentário enviado por pontozip em 12/03/2007 - 17:04h
Uma duvida, tenho três máquinas (Debian 3.1r4) com a mesma situação, com a versão do Kernel igual da instalação 2.4.27 os hardwares são diferentes, em uma maquina atualizei com sucesso o Kernel. A minha pergunta é a seguinte posso usar o mesmo arquivo .DEB para as outras ? Ou este arquivo é gerado pra cada máquina ? Aguardo retorno.
Ats.