Compilar kernel (Neste caso 2.6.21) com -ck

O -ck patch é a aplicação de vários patchs, que podem ser encontrados em http://www.kernel.org/pub/linux/kern...le/ck/patches/, com especial destaque para o patch sd.
Este conjunto de patches para melhorar a resposta e interactividade do kernel, vão actuar ao nível da gestão do processador, entre outros, tornado o PC com uma resposta muito melhor, notando-se particularmente a nivel do video (menos frames perdidas), no som ou nos jogos diminuindo a latência.

Info sobre o -ck : http://ck.wikia.com/wiki/Main_Page

Mandem feedback para fazendo reply a http://lkml.org/lkml/2007/6/10/212 sobre ou mandando um mail para aqui linux-kernel@vger.kernel.org sff (é importante ;) ).

Compilar o kernel...

Dependências necessárias:

#aptitude install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev

* Só precisam do qt se mais à frente usarem o xconfig em vez do menuconfig

Fazer o download do kernel:

$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2

Copiá-lo para /usr/src :

#cp linux-2.6.21.tar.bz2 /usr/src

Descompactá-lo:

$cd /usr/src
#tar -xvjf linux-2.6.21.tar.bz2

Mudar o nome (se vão usar o patch -ck)
mv linux-2.6.21/ linux-2.6.21ck2

Eliminar o "atalho" linux:
#rm -rf linux

Criar um link para linux:
ln -s /usr/src/linux-2.6.21ck2 linux

Ir para a directoria:

cd /usr/src/linux

Sacar o último patch -ck para o 2.6.21

wget http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.21/2.6.21-ck2/patch-2.6.21-ck2.bz2

Aplicar o patch:

bzcat patch-2.6.21-ck2.bz2| patch -p1

No tutorial sugere copiarem o config que já têm do kernel antigo:

cp /boot/config-"uname -r" .config

Eu usei um .config que fui gravando ao longo dos kernel que já compilei de maneira que não tenho fazer mais nada a não ser pôr compilar. Aconselho a quando encontrarem uma configuração que vos agrade guardem o config.

Configurar o kernel:

make xconfig

Aconselha-se a pelo menos:

Em"General Setup" activar:

-Support for paging of anonymous memory (swap)
--Support for prefetching swapped memory

Em "Processor type and features":

-Processor family Choose the model of your processor.

Activar:

-Preemption Model
--Voluntary Kernel Preemption (Desktop)

-High Memory Support
--off -Se tiveres menos de 1 GB de RAM
--1GB Low Memory Support -Se tiveres 1GB de RAM
--4GB -Se tiveres mais de 1GB de RAM

-Timer frequency
--1000 Hz

Em "block layer" vai a "IO Schedulers" deixa só "CFQ I/O scheduler" activado, que providencia a melhor performance.

Em "Kernel hacking" retira "Kernel debugging".

Ctrl+S para salvar a configuração e depois fecha a janela.

Agora no terminal:

#make-kpkg clean

#make-kpkg -initrd kernel_image kernel_headers modules_image

Agora vai a /usr/src e instala os .deb que a compilação do kernel gerou:

$cd /usr/src/
#dpkg -i

Antes de fazer reboot verifiquem o vosso /boot/grub/menu.lst e vejam se os parâmetros do novo kernel (principalmente as partições) estão bons.

PS: Devem deixar SEMPRE o vosso kernel antigo no sistema para caso haja problemas possam simplesmente entrar com o antigo.

Baseado no how-to: http://www.ubuntuforums.org/showthread.php?t=157560