Compilar último kernel estável

Para obter sempre o mais recente kernel estável (neste momento é o 2.6.26) podemos usar o git para obter a tree:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.26.y.git

Com isto será criado um directório chamado linux-2.6.26.y.
Lá dentro estará o código do kernel estável da série 2.6.26.

Antes demais devemos certificarmo-nos que temos o pacote virtual build-essential instalado. Sem este não teremos as ferramentas nem as bibliotecas básicas para compilar o kernel.

Para começar-mos o processo podemos e devemos adequar o kernel que vamos compilar o melhor possível à máquina na qual vai ser usado.
Assim para fazermos o .config (ficheiro de configuração usado para a compilação) podemos correr:

make menuconfig

Para o menu para a configuração ser efectivamente compilado devemos ter o pacote libncurses-dev.

Se preferirmos algo mais gráfico podemos fazer antes:

make gconfig

Com isto obtemos uma aplicação gráfica direccionada para Gnome (feita em GTK). Se KDE for o seu veneno pode então usar:

make xconfig

Para obter a aplicação em QT.
Note-se que é necessário ter as bibliotecas -devel ou do gnome ou do kde para efectuar qualquer um destes dois comandos.

Após isto podemos passar para a compilação (que no final resultará num ficheiro .deb) propriamente dita:

fakeroot make-kpkg --initrd kernel-image --revision 2.6.26.5-1

No directório acima do qual está o código fonte para o kernel deverá no final aparecer um ficheiro .deb. Assim para o instalar basta correr como root ou com sudo:

dpkg -i ficheiro.deb

Para as próximas compilações (ou por ter saído uma nova versão ou por modificar o .config) devemos fazer:

fakeroot make-kpkg clean

Isto irá limpar o directório de coisas indesejáveis para a próxima compilação.
Para não haver problemas devemos ir aumentando o número da revisão.

O make-kpkg tem muitas opções, pode sempre passar pelo manual para verificar se existem algumas que lhe interessem.

Se usar os drivers binários da nvidia e os tiver compilado deverá fazê-lo novamente quando estiver a correr no novo kernel.

No meu caso como usei o module-assistant bastou:

sudo m-a a-i nvidia

Em que m-a é o module-assistant com a opção a-i, auto-install.

Num próximo post mostrarei como compilar o módulo da nvidia com o module-assistant.

Comentários

Opções de visualização dos comentários

Seleccione a sua forma preferida de visualização de comentários e clique "Gravar configuração" para activar as suas alterações.

Para definir o número de

Para definir o número de jobs (make -j X ) para a compilação do kernel deve-se usar a variável CONCURRENCY_LEVEL. Algo assim:

$ CONCURRENCY_LEVEL=4 fakeroot make-kpkg --initrd kernel-image --revision 1

Isto será o mesmo que fazer make -j 4.

Tarball do kernel

Viva, tudo bem

Dúvida: Não se pode fazer simplesmente o download do tarball disponível em http://www.kernel.org/ ??

MCumprimentos

______________________________________
antoniocostamoreira@gmail.com
Linux User: #473675 - Ubuntu 8.04 LTS

Claro que sim, mas acho que

Claro que sim, mas acho que assim é bastante mais simples :)
Basta fazeres git pull que obténs o código mais recente, senão terias ou de sacar de cada vez o tarball completo ou começares com um tarball e ir aplicando o patch de cada nova versão.