Artigo dedicado a usuários iniciantes que sentem um certo receio de se aventurar a compilar o kernel com medo de dar algum erro, como o famoso "Kernel Panic".
Este artigo se propõe apenas ao usuário iniciante que deseja compilar o kernel do Linux do seu modo sem ter medo de possíveis erros, sendo assim o usuário pode fazer inúmeros testes, desabilitar e habilitar módulos, otimizando mais o Linux.
O primeiro passo é o download do kernel atual do Linux, que pode ser obtido em:
Após o download descompactaremos no diretório /usr/src, que é o diretório padrão onde fica o source do kernel:
# cd /usr/src
# tar -xvzf linux-2.4.34.tar.gz
* Note que em /usr/src/ (normalmente) existe um link simbólico chamado "linux" que aponta para a pasta que contém o source do kernel atual do seu Linux, caso você não queira baixar a versão atual do kernel (ou esta já seja a atual), poderá apenas fazer possíveis alterações no kernel padrão, caso for usar um novo kernel, não se esqueça de associar /usr/src/linux ao diretório que você descompactou lá em cima com o comando "ln" (man ln para mais informações).
Feito isto basta como root entrar no diretório /usr/src/linux (/usr/src/linux-2.4.34) e passar para próxima parte do artigo.
[1] Comentário enviado por removido em 10/02/2007 - 18:51h
OMG,te amo Oo essa parada do bzlilo eu não sabia! ajuda a lot! valeuzao!!!! o bom disso,é que,se alguma coisa der erro,é só meter um livecd e alterar no lilo Oo mto obrigado,oh salvador da pátria!
[3] Comentário enviado por GilsonDeElt em 10/02/2007 - 19:40h
D+, cara, mas ainda tenho uma dúvida:
Peguei o kernel 2.6.17.13 que veio no CD do meu Slack, compilei e instalei. Só que deu Kernel Panic, provavelmente porque minha partição raiz está formatada como ReiserFS, e o boot ocorria como ext2. O que faço para colocar o kernel 2.6 em funcionamento?
Desde já agradeço a ajuda!
[4] Comentário enviado por tenchi em 11/02/2007 - 10:18h
GilsonElt, vc tem que criar um "initrd", que eh um sistema de arquivos virtual que carrega os módulos necessários para a execução de tarefas já no início do boot, no seu caso, para carregar o módulo do reiserFS.
Tenet o seguinte:
# cd /boot/
# mkinitrd -c -k `uname -r` -m reiserfs
e em seguida, adicione no seu /etc/lilo.conf a seguinte linha, na sessão do kernel que vc usa:
initrd = /boot/initrd.gz
[6] Comentário enviado por albertguedes em 11/02/2007 - 14:16h
Também achei bom, mas devia ter feito logo com o kernel 2.6, que já tem drivers para equipamentos atuais, 2.4 pode ainda gerar uns problemas por causa disso. Mas de resto, valeu.
[7] Comentário enviado por luiscarlos em 11/02/2007 - 22:14h
[root@luis linux]# make
CHK include/linux/version.h
CHK include/asm-i386/asm_offsets.h
make[1]: *** Sem regra para processar o alvo `init/main.o', necessário por `init/built-in.o'. Pare
alguém pode me ajudar?
[root@luis linux]# uname -a
Linux luis 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 athlon i386 GNU/Linux
[8] Comentário enviado por duda_syn em 12/02/2007 - 12:59h
Qt ao linux 2.6 eu andei compilando esses dias e com o make bzlilo ele nao coloca o vmlinuz em / e sim em /boot ele substitui...
mas se fizer as alterações em /boot e no linux.conf , o arquivo se faz válido...
luis0101 acontece isso qd vc da o make bzlilo??
explica melhor.. vlww
[12] Comentário enviado por tiago_herrmann em 13/02/2007 - 11:42h
Olá,
não é necessário renomear o diretório de módulos, basta editar o Makefile antes de começar a compilação e modificar a variável EXTRAVERSION, adiciondo uma string de sua preferência, como "ver1", ou até mesmo a data do build do kernel.
Acredito que um ponto importante é que, se não for usado um initrd, é necessário inserir intrinseco ao kernel o módulo relativo ao filesystem e a controladora do hd. (seja scsi, ide, etc). De outra forma você receberá um kernel panic por não conseguir montar a particao root.
[13] Comentário enviado por hugoalvarez em 14/02/2007 - 13:40h
Olá,
é sempre bom fazerem as pessoas perderem o medo do kernel_panic, mas faltou o principal de compilar o kernel
1. make mrproper
Nessa compilação do artigo com certeza ficaram um milhão de coisas que a máquina nem faz idéia do que seja, mas carrega mesmo assim pq seu dono mandou.
2. aplicação do patch 2.4.34.1
Apesar de ser o último kernel da série 2.4 ainda lançaram um patch para ele, até que enfim trocaram pq foram descobertos um milhaão de bugs, segue a lista de atualização desse patch:
Summary of changes from v2.4.34 to v2.4.34.1
============================================
Christian Praehauser (1):
[NET] ethernet: Fix first packet goes out with MAC 00:00:00:00:00:00
dann frazier (1):
smbfs: fix problems introduced by last security backport
Oliver Neukum (1):
proper locking on disconnect for mdc800
Willy Tarreau (1):
Change VERSION to 2.4.34.1
Como podem ver deixar smb sem patch é grave para quem vai utilizar o samba.