Debian Squeeze com kernel 3.0.4

Publicado por edps em 26/10/2011

[ Hits: 14.069 ]

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

Adicionando fontes no Arch Linux

APT e Synaptic no Fedora

Obtendo informações do sistema com o script INXI

RSS - Boas fontes de notícias para os linuxers

Opera Mobile no Arch Linux

Leitura recomendada

Módulo do kernel NVIDIA em paravirtualização XEN

Kernel 3.0 em qualquer Ubuntu ainda suportado

Failed to overwrite statefile

Compilando kernel com genkernel

Driver da nvidia em mais de um kernel no Slackware

  

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