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
Autenticação de repositórios em distros Debian-like
Montando dispositivos com Android no GNU/Linux
Convertendo uma manpage em arquivo PDF
Editor de Menus para o LXDE
Adicionando Web Rádio em Blog (Blogger)
Leitura recomendada
Drivers da placa de vídeo ATI - agora com melhor suporte a OpenGL
Desligando temporariamente os módulos que travam o kernel do OpenBSD
Como renomear placa de rede USB
Compilando o kernel 2.6.35 no Linux Mint Debian Edition
Migrando para o Ext4, o novo file system Linux
Comentários
Excelente dica, essa semana atualizo o kernel do meu Debian...
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.
Mensagem
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.
@ 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
Mensagem
@ 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
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.
Mensagem
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.
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
Mensagem
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
Mensagem
Usei esta Dica:
http://www.vivaolinux.com.br/dica/Compilando-kernel-304-no-Debian-Squeeze-com-processador-de-2-nucleos
# 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.
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
Mensagem
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
''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
Mensagem
''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
Mensagem
Quer dizer assim?
http://va.mu/JnSm
Iz@i@s
Forçou a instalação, né seu bruto?! rs
Hoje no Debian e no Arch atualizou o Chromium (15).
Mensagem
Forçou a instalação, né seu bruto?! rs
Hoje no Debian e no Arch atualizou o Chromium (15).
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.
Mensagem
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.
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!
Mensagem
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!
Mensagem
Seguem os links amigo Izaias:
61MB: 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
93MB: 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
Final da semana que vem, a Ferrari é sua.
Mensagem
Final da semana que vem, a Ferrari é sua.
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!
Mensagem
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!
# 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
Mensagem
# 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
Entendi.
O problema está no 'fakeroot'.
Vou ver isso.
Mensagem
Entendi.
O problema está no 'fakeroot'.
Vou ver isso.
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
Mensagem
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
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
Mensagem
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
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!
Mensagem
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!
Correção efetuada.
Veja se está de acordo.
Mensagem
Correção efetuada.
Veja se está de acordo.
Mensagem
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.
fiz tudo conforme o tutorial mais ele não gerou o initrd.img na minha distro, estou instalando a kernel 3.2.4.
att
Mensagem
fiz tudo conforme o tutorial mais ele não gerou o initrd.img na minha distro, estou instalando a kernel 3.2.4.
att
@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
Mensagem
@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
Ótima dica! Muito obrigado!
Mensagem
Ótima dica! Muito obrigado!
Contribuir com comentário
Enviar