Antes de começar o compilação do
kernel vou pedir para todos estarem cientes dos hardwares da máquina que será compilada. Para ter certeza basta realizar os seguintes comandos:
lspci
$ cat /proc/pci (com esse comando você estará ciente com o hardware em geral)
cat /proc/cpuinfo (comando para ver a arquitetura do processador)
cat /proc/meminfo
ou
free -m (para ver sua RAM)
Depois dessa pequena consulta vamos para a parte que realmente interessa:
Passo 1:
Primeiramente vocês terão que baixar o código-fonte do kernel desejado, pelo meu breve conhecimento o mais estável do momento é o 2.6.24, pois alguns amigos me disseram que o 2.6.27 estava dando pau nas placas de rede.
Para baixar entre no seguinte site:
http://www.kernel.org/pub/linux/kernel/v2.6/
ou você pode usar o comando "wget" no terminal, mas isso é pra pessoas com um pouco mais de experiência.
Passo 2:
Depois da conclusão do download vocês terão que descompactar o arquivo tar do código-fonte. Mas lembre-se que isso terá que ser feito em root.
sudo su
# tar xjvf linux-2,6,24.tar.bz2 /usr/src
Obs.: O arquivo tem que ser compacto na pasta da arquitetura do kernel antigo: /usr/src
Passo 3:
É necessário criar um link para o novo kernel:
# ls -sf /usr/src/linux-2,6,24 /usr/src/linux
Com esse comando você criará uma nova pasta chamada "linux".
Obs.: Caso você já tenha essa pasta, terá que deletar ela:
# rmdir /usr/src/linux
E repita o passo anterior.
No término entre na pasta:
# cd /usr/src/linux
Passo 4:
Para personalizar seu kernel, entre no arquivo
Makefile e altere o Extra Version:
Version=2
PATCHLEVEL=6
SUBLEVEL=24
EXTRAVERSION= -i386-1
Salve o arquivo.
Passo 5:
Nesse passo vamos baixar alguns arquivos para que a compilação seja realizada com sucesso.
No terminal digite:
* comandos para Debian, para outras distro pesquise como baixar esses arquivos.
# aptitude install initrd-tools
# aptitude install linux-initrd-tool
Esses pacotes serão de suma importância para configurar a imagem no GRUB.
Baixe os pacotes abaixo para trabalhar o config em modo gráfico, pois em texto será um tédio.
Caso você queira se aventurar no texto basta executar o:
# make config
ou baixe as bibliotecas para modo gráfico:
Para menuconfig:
# apt-get install libncurses5-dev
# make menuconfig
Para xconfig:
# apt-get install libqt3-mt-dev
# make xconfig
Obs.: No Debian as dependências serão instaladas automaticamente.
Passo 6:
Agora iremos configurar o kernel:
# make menuconfig
Obs.: Para esse comando lembre que "*" são itens que serão incorporados no kernel e "m" serão modulares.
ou:
# make xconfig
Depois de configurar salve.
Passo 7:
Agora vem a compilação de verdade:
# make bzImage
Obs.: Tem que ser igual o "i", realmente é em maiúsculo, respeite as escritas do comando.
Pode ir tomar um café, pois dependendo da arquitetura do seu CPU isso vai demorar um pouco.
Passo 8:
Vamos ativar os módulos:
# make modules
Passo 9:
Agora vamos instalar os módulos:
# make modules_install
Demora um pouco também.
Passo 10:
Vamos copiar a imagem do novo kernel no /boot.
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.24-i386-1
# cp /usr/src/linux/System.map /boot/System.map-2.6.24-i386-1
Vamos criar um link para o System.map:
# ln -sf /boot/System.map-2.6.24-386-1 /boot/System.map
Para finalizar o vamos copiar o config para o boot:
# cp /usr/src/linux/.config boot/config-2.6.24-i386-1
Passo 11:
Vamos criar um initrd para execução do boot:
# mkinitrd -o /boot/initrd-2.6.24-i386-1.img 2.6.24-i386-1