Debian Squeeze com kernel 3.0.4

Publicado por edps em 26/10/2011

[ Hits: 14.093 ]

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

 


Debian Squeeze com kernel 3.0.4



Nessa dica demonstrarei como instalar facilmente o kernel 3.0.4 no Debian Squeeze usando o kernel-package.

Inicialmente devemos baixar o source do kernel no repositório oficial. Para tal escolhi a versão empacotada em .tar.xz, afinal sendo eu um feliz usuário de Internet 3G, não posso me dar o luxo de baixar o pacote maior (73MB) em .tar.bz2 se existe um menor (61MB) em .tar.xz e que é facilmente descompactado, para isso instale o pacote xz-utils.

Os pacotes necessários para compilar um kernel no Debian usando o kernel-package são os mesmos dessa minha outra dica publicada no VOL.

Vamos lá!

Download...

wget -c -T0 http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.4.tar.xz

Descompactação...

sudo tar -Jxf linux-3.0.4.tar.xz -C /usr/src

Tornar-se root...

su
<senha do root>

* ou use 'sux' ou 'sudo su'.

Entrar no diretório /usr/src...

# cd /usr/src

Criar o link simbólico 'linux'...

# ln -sf linux-3.0.4 linux

Entrar na pasta de trabalho...

# cd linux

Compilar usando as configurações do kernel atual (apenas tecle ENTER nas novas opções!)...

# make oldconfig

* desta vez optei por usar as configurações atuais, caso queira compilar usando somente a opção de módulos locais, troque 'make oldconfig' por 'make localmodconfig', como exemplificado nessa dica.

Prevenindo possíveis erros...

# mkdir Documentation/lguest
# echo all: >> Documentation/lguest/Makefile


Começo da compilação com otimização para um QuadCore ( CONCURRENCY_LEVEL=5 ) = n° de clocks + 1...

# INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=5 fakeroot make-kpkg --initrd --append-to-version=-edps --revision=+1.0 kernel_image kernel_headers

* em append-to-version=-edps , troque -edps pelo nick desejado
* em --revision=+1.0, deixe como está ou troque pela numeração que quiser.

Não querendo inventar, siga o básico (mas vai demorar, isso eu garanto!) rsrsrs:

# fakeroot make-kpkg --initrd kernel_image kernel_headers

Saindo do diretório de trabalho...

# cd ..

Instalação dos novos pacotes .deb criados...

# dpkg -i *.deb

Reinício do sistema...

# reboot

As imagens do processo estão na dica publicada em meu blog:
Aqui no VOL postei uma screenshot desse meu Debian já rodando sobre esse kernel:
Informações extras e mais recentes sobre como compilar um kernel no Debian usando o kernel-package tal como o descrito nessa dica e como resolver possível erro durante a compilação podem ser vistas nos links abaixo:
A outra forma de compilar um kernel no Debian foi descrita recentemente nessa dica:
Cabe ressaltar que usando o kernel-package, temos a enorme vantagem de criar os .debs, sendo assim, com extrema facilidade poderemos removê-lo, reinstalá-lo, instalá-lo noutro PC etc, enquanto que a compilação da forma tradicional não.

Outras dicas deste autor

Ubuntu Manpage Repository

sources.list para o Ubuntu 10.04 Lucid Lynx

Lançamento da Gentoo Wiki

APT e Synaptic no Fedora

hastebin, uma alternativa ao famoso paste.bin

Leitura recomendada

Atualizando kernel no Debian 6 - 32 bits

Compilando o kernel 2.6.35 no Linux Mint Debian Edition

Failed to overwrite statefile

Manjaro não inicializa pelo GRUB de outra distribuição [Resolvido]

Slackware 10.0 com Linux-2.6.7

  

Comentários
[1] Comentário enviado por ismael_farias em 26/10/2011 - 10:01h

Excelente dica, essa semana atualizo o kernel do meu Debian...

[2] Comentário enviado por removido em 26/10/2011 - 11:05h

Se soubesse que faria tal dica, teria aguardado.

Segui a forma tradicional de compilação e não sei se posso refazer seguindo seu método.

O que acha Edinaldo?
Posso refazer o processo, começando do zero?

Depois só iria atualizar o Grub e remover este que tenho instalado.

[3] Comentário enviado por leandro em 26/10/2011 - 13:43h

@ Izaias. Antes de descobrir esta dica do Edinaldo, eu também compilava do modo "tradicional". Para remover um kernel, eu fazia:


# rm -r /usr/src/linux-3.0.4
# rm -r /lib/modules/3.0.4
# rm /boot/vmlinuz-3.0.4
# rm /boot/initrd.img-3.0.4
# update-grub

(acho que não esqueci de nada,rs)

Ou seja, era tudo na mão. Tente fazer isso usando o Kernel padrão do Debian (você não removeu ele, removeu?!?).

Depois siga a dica do Edinaldo normalmente.

Agora para remover um kernel .deb é só isso:

# apt-get purge linux-3.0.4

[]'s

-----------------------

Edit: Ops! Esqueci de dizer:

Ótima dica, Edinaldo!

Aquele erro no /Makefile é muito chato. Sempre ocorre quando a compilação está no finalzinho (o que para um processador franzino é horas depois).

Não sei qual é a causa, tampouco a solução definitiva. Embora este arquivo seja originalmente um #!/bin/bash, apenas acrescentando um arquivo texto não vazio, resolve. O porque não sei,rs.

[]'s

[4] Comentário enviado por removido em 26/10/2011 - 13:49h

Foi minha primeira compilação de Kernel. Me senti o próprio Linus. rs

Então, removi o Kernel padrão do Debian, sim. rs
Mas se for necessário, é só reinstalar. O que acha?

Então reiniciaria o processo seguindo o método do Edinaldo.

Mas acho que entendi onde quer chegar, preciso instalar o Kernel padrão do Debian, atualizar o Grub, remover o '3.04' e partir pra recompilação usando este método.

[5] Comentário enviado por leandro em 26/10/2011 - 13:53h

Não faça isso! rs.

É trabalho (e internet) perdido.
Já que você tem somente este, instale um kernel com o método do Edinaldo e depois remova o anterior.

Pergunta: Qual config você usou? O do Debian padrão mesmo? Se seguiu o comando da dica:

# cp /boot/config-2[pressione TAB] /usr/src/linux-3.0.4/.config

Você está usando a config padrão do Debian. O que é ótimo. Assim, seu kernel será igual ao padrão, com a vantagem de ser atualizado.

[]'s

[6] Comentário enviado por removido em 26/10/2011 - 14:00h

Usei esta Dica:
http://www.vivaolinux.com.br/dica/Compilando-kernel-304-no-Debian-Squeeze-com-processador-de-2-nucle...

# cp /boot/config-2[pressione TAB] /usr/src/linux-3.0.4/.config
- Sim ,acredito que fiz isso. O Debian iniciou exatamente como estava antes com o Kernel padrão do Debian.

Ficou perfeito!
Mas quero aplicar este método do Edinaldo.

[7] Comentário enviado por leandro em 26/10/2011 - 14:09h

Então tá tranquilo.

Siga a dica do Edinaldo e compile um novo kernel.

E utilize o comando (que está nesta mesma dica):

# make oldconfig

Para usar a configuração do kernel padrão atualmente em uso.


Ps: cuidado que isso vicia, heim? rs Agora cada vez que um novo kernel for lançado, você não vai resistir em instalá-lo.

[]'s


[8] Comentário enviado por removido em 26/10/2011 - 14:12h

''Ps: cuidado que isso vicia, heim? rs Agora cada vez que um novo kernel for lançado, você não vai resistir em instalá-lo''

Páre! Não me dê ideias!
O kernel 3.1 está pra sair. rsrs

Obrigado Leandro

[9] Comentário enviado por rootgerr em 26/10/2011 - 20:38h

Quer dizer assim?

http://va.mu/JnSm

Iz@i@s


[10] Comentário enviado por removido em 26/10/2011 - 20:45h

Forçou a instalação, né seu bruto?! rs

Hoje no Debian e no Arch atualizou o Chromium (15).

[11] Comentário enviado por removido em 28/10/2011 - 14:14h

Thanks pelos comentários,

@izaias, sobre a compilação e instalação por esse método (quando já tem o mesmo kernel instalado), o kernel descompactado em /usr/src tem o nome linux-3.0.4 e se você acessar a pasta /usr/src e criar o link simbólico 'linux' apontando para esse pasta:

# ln -sf linux-3.0.4 linux

daí você acessa a tal pasta linux:

# cd linux

e roda um:

# make clean

e prossegue com os passos desta dica.

* não recomendo que faça isso por serem de mesma versão, em vez disso teste usando o kernel 3.1 que já saiu.

[12] Comentário enviado por removido em 30/10/2011 - 18:26h

Não recebi o e-mail deste seu comentário, Edinaldo. Desculpe por não responder antes.

Quando sair o Kernel 3.1 estável, refaço o processo.
Fui até o kernel.Org e por enquanto, estável mesmo só o kernel da sua dica: http://i.imgur.com/GTIOh.png
Esta imagem do site foi feita agora a pouco.


VLW Parceiro!

[13] Comentário enviado por removido em 30/10/2011 - 18:38h

Seguem os links amigo Izaias:

61MB: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.xz">http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.xz

73MB: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.bz2">http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.bz2

93MB: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.gz">http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.gz


acesso a pasta:

http://www.kernel.org/pub/linux/kernel/v3.0/

ou...

http://www.kernel.org/pub/linux/kernel/v3.x/


* não entendi essa do site, pois vi a matéria no H-Online:

http://www.h-online.com/open/features/What-s-new-in-Linux-3-1-1347364.html


[]'s

[14] Comentário enviado por removido em 30/10/2011 - 18:48h

Final da semana que vem, a Ferrari é sua.

[15] Comentário enviado por removido em 30/10/2011 - 19:29h

Olha só Edinaldo, depois de aplicar o comando para iniciar a compilação:

# INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=5 fakeroot make-kpkg --initrd --append-to-version=-edps -- revision=+1.0 kernel_image kernel_headers


No terminal retorna isso:
/usr/bin/fakeroot: line 176: make-kpkg: comando não encontrado

Procurei instalar este comando: 'make-kpkg' e também 'make-pkg', mas estes comandos não estão disponíveis no meu Debian.
Não entendi essa, parceiro! Como o Debian não reconhece um comando para compilação?

Boiei, cara!

[16] Comentário enviado por removido em 30/10/2011 - 19:44h


# apt-get install kernel-package fakeroot

http://www.vivaolinux.com.br/dica/Compilando-o-kernel-2.6.35-no-Linux-Mint-Debian-Edition
http://man.he.net/man1/make-kpkg

lembrando que:

CONCURRENCY_LEVEL=5 é para um QuadCore em carga máxima, se tem um DualCore é: 3


você pode usar apenas (se quiser):

# make-kpkg --initrd --append-to-version=-NICK -- revision=+NUMERO kernel_image kernel_headers

ou para saber o tempo que levou:

# time make-kpkg --initrd --append-to-version=-NICK -- revision=+NUMERO kernel_image kernel_headers


Na sua mensagem existe um espaço entre os 2 traços ( -- ) e a opção revision. É tudo junto: --revision=+1.0 ou --revision=+0.1 e por aí vai:


# INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=5 fakeroot make-kpkg --initrd --append-to-version=-edps --revision=+1.0 kernel_image kernel_headers

[17] Comentário enviado por removido em 30/10/2011 - 19:52h

Entendi.
O problema está no 'fakeroot'.

Vou ver isso.

[18] Comentário enviado por removido em 30/10/2011 - 19:59h

Instalei o 'fakeroot' e depois copiei e colei o comando exato como indica acima na dica.
Retornou o mesmo resultado: make-kpkg: comando não encontrado

Depois copiei e colei o comando do seu último comentário, a compilação iniciou. Deu certo.

Reveja o comando postado na dica, deve ter erro de espaço nele.
Se precisar corrigir algo, avise.

Obrigado, Edinaldo

[19] Comentário enviado por removido em 30/10/2011 - 20:15h

No blog está certo, no VOL é que está com esse espaço. (você pode alterá-lo para mim) ou tenho que enviar um email pro Fale Conosco?


* sobre a compilação, interessante é sempre iniciar pela mais rápida (a dos módulos locais) específicos apenas para a sua máquina, assim no meu caso em menos de 10 minutos saberei se dará algum erro na compilação:

# make localmodconfig

tecle ENTER em todas as opções.

# mkdir Documentation/lguest
# echo all: >> Documentation/lguest/Makefile

# INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=5 fakeroot make-kpkg --initrd --append-to-version=-i386-NICK --revision=+1.0 kernel_image kernel_headers

[20] Comentário enviado por removido em 30/10/2011 - 20:21h

Vou efetuar a correção.
Vou copiar e colar exatamente como colocou no comentário nº 16.


A compilação deu certinho parceiro. Parabéns!

[21] Comentário enviado por removido em 30/10/2011 - 22:46h

Correção efetuada.

Veja se está de acordo.

[22] Comentário enviado por removido em 30/10/2011 - 23:00h

Thanks Izaias.

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

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.

[24] Comentário enviado por bteixeirabp em 15/03/2012 - 19:43h

fiz tudo conforme o tutorial mais ele não gerou o initrd.img na minha distro, estou instalando a kernel 3.2.4.

att

[25] Comentário enviado por removido em 15/03/2012 - 20:07h

@bteixeirabp,

se você seguiu os passos corretos e ainda assim não gerou o initrd, tente isso:

# mkinitramfs -o /boot/initrd.img-VERSAO-DO-KERNEL /lib/modules/VERSAO-DO-KERNEL


* onde VERSAO-DO-KERNEL você saberá com um simples 'ls' na pasta /lib/modules, exemplo:

$ ls /lib/modules

2.6.32-5-486
2.6.32-5-686
2.6.32-5-686-bigmem
3.2.0-0.bpo.1-686-pae

então digamos que eu precisasse gerar um initrd para o kernel mais atual que tenho aqui, eu faria isso:

# mkinitramfs -o /boot/initrd.img-3.2.0-0.bpo.1-686-pae /lib/modules/3.2.0-0.bpo.1-686-pae

e para atualizá-la no futuro se necessário:

# update-initramfs -u


este exemplo tirei dessa minha outra dica:

http://www.vivaolinux.com.br/dica/Debian-Kernel-2.6.33-com-patch-de-Con-Kolivas

[26] Comentário enviado por GCruz25 em 04/10/2012 - 19:28h

Ótima dica! Muito obrigado!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts