Debian - Kernel 2.6.33 com patch de Con Kolivas

Publicado por edps em 16/03/2010

[ Hits: 10.148 ]

Blog: https://edpsblog.wordpress.com/

 


Debian - Kernel 2.6.33 com patch de Con Kolivas



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.

Outras dicas deste autor

repacman - reempacote um programa no Arch Linux

Opera Developer no Slackware

Axel: alternativa ao wget

Escolhendo os melhores mirrors pro seu Arch Linux

Há mais no Linux que o Ubuntu

Leitura recomendada

Atualizando o kernel do Linux corretamente (inclusive os headers)

Instalação pratica do novo kernel 2.6.20

Ubuntu 32 bits reconhecendo 4GB (ou mais) de RAM

Failed to overwrite statefile

Desafio Linux (teste de segurança)

  

Comentários
[1] Comentário enviado por rogerboff em 21/03/2010 - 00:59h

Eaw meu guri, parabéns pelo artigo.

Também tive problemas para compilar o kernel 2.6.33 no Lenny, mas depois de quebrar a cabeça e procurar no google, achei a solução, o problema é o kernel-package que é instalado no Lenny, pois a versão é 11.015 e o 2.6.33 é 13.264.
Para contornar esse erro, basta baixar o deb http://ftp.br.debian.org/debian/pool/main/k/kernel-package/kernel-package_12.033_all.deb que é do Squeeze, instalar e compilar, ai é só ir pra galera..
O caso Initrd não ser gerado, é porque faltou o "modules_image" parâmetro no comando "make-kpkg --initrd --revision=+1.0 kernel_image kernel_headers", é só adicionar que ele ira gerar o .deb responsável pelo Initrd.

Abraços.

Mais informações: http://www.fell.it/2010/02/25/2-6-33-debian-lenny-nvidia-and-vbox/

[2] Comentário enviado por removido em 21/03/2010 - 13:53h

Roger Pereira, muito agradecido pelo comentário, pelas suas dicas amigo então, sem comentários!.

Uma coisa estranha que me ocorreu é que quando fui instalar o driver nvidia (NVIDIA-Linux-x86_64-190.53-pkg2.run) o instalador parava alegando não encontrar o kernel source, adotei todos os procedimentos possíveis, uso da opção --kernel-source-path= , criação de links simbólicos e tal, mas nada feito e quando já estava pensando em desistir, resolvi baixar o instalador da versão (NVIDIA-Linux-x86_64-173.14.25-pkg2.run) também compatível com minha placa e tudo ocorreu normalmente. Não sei se é um bug do instalador da nvidia, mas como pode ser útil a outras pessoas resolvi postar.

Agora vou partir para a compilação no Lenny.

[3] Comentário enviado por chimico em 30/03/2010 - 18:47h

Olá edps, rode o seguinte comando antes de instalar o driver da nvidia:

m-a prepare

Isso porque se você compilou seu kernel através do make-kpkg e usou o alvo kernel_headers, você está com uma pasta linux-source*** e outra linux-headers*** em /src. Isso confunde o instalador da nvidia.
Com o comando acima (instale module-assistant antes!!!) será determinado para onde vai o link simbólico que aponta para /usr/src/linux

Abraços

[4] Comentário enviado por removido em 31/03/2010 - 11:36h

chicotrance, com esse já obtive 2 bons comentários que certamente me servem. Esta é a diferença deste espaço, a ajuda mútua, muito obrigado!.

[5] Comentário enviado por jasminn em 30/04/2010 - 11:58h

Olá gente, após digitar o comando # make xconfig abriu uma tela do kernel da versão instalada 2.6.33-ck1, verifiquei se estava ticada as opções de desejadas que é usb e pstn, salvei e após digitar o comando # make-kpkg clean apareceu a mensagem ***faltando o separador. Pare. Descupe encomodar mas alguém pode me dar uma dica? Já procurei o erro na net o encontrado é que nao foi instalado, já instalei a versão varias vezes.

Desde já agradeço.

[6] Comentário enviado por removido em 30/04/2010 - 12:24h

jasminn, sugiro que você recomece do zero, quando abrir o configurador apenas clique em File e em Save As, salve como .config.
Se você digitou # "jogo-da-velha" antes do comando não vai funcionar, pois no artigo o comando está comentado por esse símbolo, é o padrão aqui no VOL.

Informo também que se vc conseguir, ao terminar de compilar é essencial que faça os passos abaixo, senão vai dar KERNEL PANIC:

sudo mkinitramfs -o /boot/initrd.img-2.6.33-ck1 /lib/modules/2.6.33-ck1
sudo update-grub

#

Se ainda assim vc quiser compilar o Kernel, siga esse artigo: http://www.vivaolinux.com.br/artigo/KernelCheck-Instalando-o-kernel-mais-recente-em-distros-Debianli...

É mais simplificado, quase sem interação com o usuário.

#

Outra maneira como já lhe disse é instalar o kernel do Debian Squeeze, já te passei os repositórios para inserí-los no APT. Vai eles de novo:

sudo nano /etc/apt/sources.list ### (salve com Ctrl+o e feche com Ctrl+x)

### ARQUIVO DE CONFIGURAÇÃO DE FONTES DO APT
## Debian 'Squeeze/Testing'

## Debian 'Squeeze/Testing' (Espelhos Brasileiros).
## (GPG Key: sudo apt-get install debian-archive-keyring debian-keyring debian-multimedia-keyring -y)
deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.br.debian.org/debian-security/ squeeze/updates main contrib non-free
deb http://ftp.br.debian.org/debian-multimedia squeeze main non-free

## Debian 'Squeeze/Testing' (Espelhos Oficiais).
## (GPG Key: sudo apt-get install debian-archive-keyring debian-keyring debian-multimedia-keyring -y)
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://www.debian-multimedia.org/ squeeze main non-free

#

Atualize o apt-get e instale o Kernel do Squeeze e seus headers.
sudo apt-get update
sudo apt-get install linux-image-2.6-686 linux-headers-2.6-686
sudo update-grub

[7] Comentário enviado por jasminn em 30/04/2010 - 13:30h

Obrigado edps mas não tava digitando # não, ja segui este passo a passo da instalação algumas vezes já, mas nd, o problema ta na hora de fazer o boot mesmo, ja tentei alguns comando para alteração da imagem mas, nd o jeito é continuar tentando ou fazer desta segunda maneira mais fácil quando tiver com internet conectada no Debian.


[8] Comentário enviado por xcorex em 17/05/2010 - 17:25h

update-initramfs -c -k 2.6.33-ck1 para criar o initramfs.

[9] Comentário enviado por removido em 05/11/2011 - 16:36h

Vejam como instalar no Debian Squeeze um Kernel mais atualizado no artigo publicado em meu blog:

http://gnu2all.blogspot.com/2011/11/kernel-atualizado-no-debian-squeeze-1.html

* os passos dessa 1ª parte do artigo já serviram para poder instalar o kernel Liquorix facilmente, na 2ª parte mostrarei como instalar o zen-kernel, o kernel -pf, o -ck, o liquorix e os do Backports e i686 4 i486



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts