Como muitos de nós sabemos,
Con Kolivas voltou a contribuir com patches para o kernel
Linux.
Visando um melhor desempenho em desktops, proponho com esta dica compilar o último kernel estável (2.6.33) para o
Debian "Squeeze" com o patch do Con Kolivas.
Atenção aos usuários do Debian Lenny. Segui os mesmos passos e nas duas vezes que tentei compilar deu erro.
Eu também tenho uma máquina com o Lenny instalado (somente pacotes estáveis!), arquitetura i386.
A compilação deste kernel visava inicialmente instalá-lo no "Lenny", pois para usar meu modem 3G tive que fazer uma "gambiarra" e instalar o kernel 2.6.30-2-686 do "Squeeze".
Devido aos erros, testei no "Squeeze", tudo ocorreu normalmente e fiquei muito satisfeito com o desempenho deste kernel rodando na arquitetura amd64.
No decorrer da dica seguem algumas observações, por favor leiam e comentem.
Para que seu nome apareça como mantenedor do pacote, antes de iniciar a compilação, altere o arquivo
/etc/kernel-pkg.conf:
# nano /etc/kernel-pkg.conf
E modifique as seguintes linhas:
# The maintainer information.
maintainer := <seu nome>
email := <seu email>
Espero que testem e gostem!
Para compilar o último kernel estável e aplicar o patch do Con Kolivas, inicialmente devemos baixar o fonte do kernel e o respectivo patch, utilizaremos também o programa
kernel-package para gerar os .debs e faremos desta forma:
1 - instalação das dependências:
# apt-get update
# apt-get upgrade
# apt-get install build-essential bin86 bison fakeroot flex gcc cpp g++ kernel-package libqt3-headers libqt3-mt-dev make
2 - baixando o kernel 2.6.33 e o patch 2.6.33-ck1:
# wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.bz2
# wget -c http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.33/2.6.33-ck1/patch-2.6.33-ck1.bz2
# bunzip2 patch-2.6.33-ck1.bz2
3 - movemos os sources para /usr/src:
# mv linux-2.6.33.tar.bz2 /usr/src/
# mv patch-2.6.33-ck1 /usr/src/
# cd /usr/src/
4 - descompactamos o novo kernel:
# tar -jxvf linux-2.6.33.tar.bz2
5 - criamos a ligação simbólica:
# rm -rf linux
# ln -sf linux-2.6.33 linux
6 - entramos no diretório do kernel a ser compilado e aplicamos o patch 2.6.33-ck1:
# cd linux
# patch -p1 < /usr/src/patch-2.6.33-ck1
7 - copiamos o config do kernel atual (leiam a observação):
Obs.: tecle TAB para escolher a versão ou antes, rode o comando "uname -r".
# cp -a /boot/config_do_seu_kernel_atual /usr/src/linux/.config
8 - abrimos o configurador (leiam a observação):
Obs.: uso o
KDE por isso uso o comando "make xconfig". Também podemos usar o comando "make menuconfig" (é necessário instalar os pacotes
libncurses5 e
libncurses5-dev).
# make xconfig
9 - limpamos as configurações anteriores:
# make-kpkg clean
10 - iniciamos a compilação do novo kernel (leiam a observação):
Obs.: a opção "--revision=+1.0" é apenas escolha pessoal, ela pode ser removida!
# make-kpkg --initrd --revision=+1.0 kernel_image kernel_headers
11 - fazemos backup do arquivo
/boot/grub/grub.cfg:
# cp -a /boot/grub/grub.cfg /boot/grub/grub-backup.cfg
12 - instalamos o novo kernel 2.6.33-ck1 e seu respectivo headers (leiam a observação):
Obs.: uso a arquitetura amd64.
# dpkg -i linux-image-2.6.33-ck1_+1.0_amd64.deb
# dpkg -i linux-headers-2.6.33-ck1_+1.0_amd64.deb
13 - geramos a imagem initrd para o novo kernel (leiam a observação):
Obs.: ainda não descobri porque recentemente ao instalar um novo kernel compilado com o kernel-package, o INITRD não é gerado! Caso alguém saiba, por favor comente!
# mkinitramfs -o /boot/initrd.img-2.6.33-ck1 /lib/modules/2.6.33-ck1
14 - por fim, atualizamos o grub:
# update-grub
Passos concluídos, basta reiniciar a máquina.