Recompilando kernel 2.6 no Debian Lenny
Este trabalho tem como objetivo mostrar aos usuários como é simples recompilar um kernel, graças à grande evolução dos sistemas Linux e ao grande esforço da comunidade. Espero que este artigo ajude quem ainda não recompilou um kernel e acha que é um bicho de sete cabeças.
Comandos úteis para a verificação do hardware
Geralmente a recompilação de um kernel é realizada com a intenção de melhorar o desempenho do sistema, adaptando-o de acordo com as suas necessidades, livrar-se de bugs, dar suporte a algum dispositivo ou até mesmo por curiosidade.
O primeiro passo para se obter um bom resultado na recompilação de um kernel é conhecer bem o seu hardware, pois se for inserido muita coisa o carregamento do kernel aumentará, portanto, devemos adicionar apenas o que será usado, desabilitando o que não for útil e o restante compilado como módulo. Os módulos serão carregados somente quando forem usados. Existem alguns comandos que podem lhe ajudar a se informar sobre o seu hardware:
lspci
Lista alguns dos dispositivos utilizados.
cat /proc/cpuinfo
Lista algumas informações sobre o processador.
cat /proc/meminfo
Lista informações sobre a memória RAM.
Copie o arquivo baixado para o diretório /usr/src:
# cp localdoarquivo /usr/src
Descompacte o arquivo:
# tar -zxvf linux-2.6.x.tar.gz
(o "x" deve ser substituído pela versão escolhida)
Se o arquivo estiver com a extensão tar.bz2, execute:
# tar -jxvf linux-2.6.x.tar.bz2
Crie um link que indicará a localização do código-fonte do novo kernel:
# ln -s /usr/src/linux-2.6.x /usr/src/linux
Acesse o diretório raiz de compilação:
# cd /usr/src/linux-2.6.x
Antes de iniciar a compilação é necessário ter alguns softwares instalados, execute o script "ver_linux", que mostrará os softwares instalados, localizado dentro do diretório /usr/src/linux-2.6.x/scripts, com o comando:
# sh /usr/src/linux-2.6.x/scripts/ver_linux
Compare esta lista com a lista oferecida no diretório /usr/src/linux-2.6.x/Documentation/changes, nem todos os softwares da lista precisam estar instalados, mas é necessário instalar o máximo possível.
Quando compilei o kernel linux-2.6.30.4, tinha esses softwares instalados:
Para a realização da compilação é necessário instalar o pacote kernel-package, que pode ser instalado com comando:
# apt-get install kernel-package
É necessário também instalar os pacotes "gcc" e "g++":
# apt-get install gcc g++
O primeiro passo para se obter um bom resultado na recompilação de um kernel é conhecer bem o seu hardware, pois se for inserido muita coisa o carregamento do kernel aumentará, portanto, devemos adicionar apenas o que será usado, desabilitando o que não for útil e o restante compilado como módulo. Os módulos serão carregados somente quando forem usados. Existem alguns comandos que podem lhe ajudar a se informar sobre o seu hardware:
lspci
Lista alguns dos dispositivos utilizados.
cat /proc/cpuinfo
Lista algumas informações sobre o processador.
cat /proc/meminfo
Lista informações sobre a memória RAM.
Obtendo os fontes e pacotes necessários
O primeiro passo é obter o código-fonte da versão escolhida, link indicado:Copie o arquivo baixado para o diretório /usr/src:
# cp localdoarquivo /usr/src
Descompacte o arquivo:
# tar -zxvf linux-2.6.x.tar.gz
(o "x" deve ser substituído pela versão escolhida)
Se o arquivo estiver com a extensão tar.bz2, execute:
# tar -jxvf linux-2.6.x.tar.bz2
Crie um link que indicará a localização do código-fonte do novo kernel:
# ln -s /usr/src/linux-2.6.x /usr/src/linux
Acesse o diretório raiz de compilação:
# cd /usr/src/linux-2.6.x
Antes de iniciar a compilação é necessário ter alguns softwares instalados, execute o script "ver_linux", que mostrará os softwares instalados, localizado dentro do diretório /usr/src/linux-2.6.x/scripts, com o comando:
# sh /usr/src/linux-2.6.x/scripts/ver_linux
Compare esta lista com a lista oferecida no diretório /usr/src/linux-2.6.x/Documentation/changes, nem todos os softwares da lista precisam estar instalados, mas é necessário instalar o máximo possível.
Quando compilei o kernel linux-2.6.30.4, tinha esses softwares instalados:
Gnu C 4.3.2 Gnu make 3.81 binutils 2.18.0.20080103 util-linux 2.13.1.1 mount 2.13.1.1 module-init-tools 3.4 e2fsprogs 1.41.3 jfsutils 1.1.12 reiserfsprogs 3.6.19 xfsprogs 2.9.8 pcmciautils 014 quota-tools 3.16. PPP 2.4.4 Linux C Library 2.7 Dynamic linker (ldd) 2.7 Procps 3.2.7 Net-tools 1.60 Console-tools 0.2.3 oprofile 0.9.3 Sh-utils 6.10 udev 125 wireless-tools 29E esta era a lista "Changes":
Gnu C 3.2 Gnu make 3.79.1 binutils 2.12 util-linux 2.10o module-init-tools 0.9.10 e2fsprogs 1.41.4 jfsutils 1.1.3 reiserfsprogs 3.6.3 xfsprogs 2.6.0 squashfs-tools 4.0 btrfs-progs 0.18 pcmciautils 004 quota-tools 3.09 PPP 2.4.0 isdn4k-utils 3.1pre1 nfs-utils 1.0.5 procps 3.2.0 oprofile 0.9 udev 081 grub 0.93A maioria dos softwares não instalados podem ser instalados via "apt-get".
Para a realização da compilação é necessário instalar o pacote kernel-package, que pode ser instalado com comando:
# apt-get install kernel-package
É necessário também instalar os pacotes "gcc" e "g++":
# apt-get install gcc g++
--append-to-version "-apelido" : Colocarã ao final do pacote, um nome que vc especificar dentro das aspas duplas. Pode botar seu nome aqui..hehehehhehehehe
--initrd : Diz que vc quer um initial ramdisk, junto da compilação do Kernel
--us --uc : Não cria changelog nem assinatura, para este pacote
kernel_image = Gerar .deb do Kernel
kernel_source = Gerar .deb com o Source do Kernel
http://www.forum-invaders.com.br/phpBB/viewtopic.php?f=3&t=8551783