Compilando o kernel 2.6.35 no Linux Mint Debian Edition

Publicado por edps em 25/09/2010

[ Hits: 11.882 ]

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

 


Compilando o kernel 2.6.35 no Linux Mint Debian Edition



Aproveitando o lançamento do ano, veremos nessa dica como compilar o kernel 2.6.35 no LMDE utilizando apenas os módulos ativos no sistema e criando os .debs com o kernel-package.

* O procedimento descrito abaixo também pode ser realizado em qualquer distro Debian-like.

Dependências:

sudo apt-get install linux-headers-`uname -r` build-essential bin86 binutils bison fakeroot flex kernel-package libncurses5 libncurses5-dev mesa-utils module-assistant xlibmesa-gl xlibmesa-glu libgl1-mesa-dri dkms

Baixando, compilando e instalando:

O kernel compilado nessa dica foi o 2.6.35, que pode ser obtido através do seguinte link:
O último kernel disponível é o 2.6.35.4, que pode ser obtido através deste link, para esse caso será necessário adaptar os comandos abaixo.

Tendo baixado o kernel, moveremos o mesmo para /usr/src, acessaremos essa pasta e mudaremos para o usuário root:

sudo mv local-onde-salvou/linux-2.6.35.tar.bz2 /usr/src/
$ cd /usr/src/
$ sudo su


* no MintDE, o root não vem habilitado por padrão, para atribuir a senha pro root, aproveite e na sequência do comando 'sudo su' digite:

# passwd root

Digite e redigite a senha, pronto!

Voltando ao assunto da dica, a seguir descompactaremos, criaremos o link simbólico 'linux' e entraremos na pasta de trabalho:

# tar -jxvf linux-2.6.35.tar.bz2
# ln -sf linux-2.6.35 linux
# cd linux


* Como esse kernel é específico pra minha máquina, usarei o make seguido da opção 'localmodconfig':

# make localmodconfig

* tecle ENTER em todas as opções.

Início da compilação:

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

* O passo acima é porque possuo um processador QuadCore, para micros single-core, os passos são esses:

# fakeroot make-kpkg --initrd --append-to-version=-i386-edps --revision=+1.0 kernel_image kernel_headers

* em '--append-to-version=-i386-edps', substituam '-i386-edps' pelo que quiserem, da mesma forma para a opção --revision=+1.0, se desejarem retirem essas opções, nesse caso ficaria assim:

# fakeroot make-kpkg --initrd kernel_image kernel_headers

* Obviamente os nomes dos pacotes mudarão.

Após a conclusão e criação dos .debs, que no meu caso levou somente 8 minutos, saímos da pasta de trabalho, listamos o conteúdo do diretório e instalamos os pacotes:

# cd ..
# ls
# dpkg -i linux-headers-2.6.35-i386-edps_+1.0_i386.deb
# dpkg -i linux-image-2.6.35-i386-edps_+1.0_i386.deb
# apt-get -f install


Usuários de placas Nvidia, que instalaram pelo método descrito nessa dica, não tem com o que se preocupar, pois o DKMS automaticamente cria os módulos para o vídeo, pro ndiswrapper, e para o VirtualBox.

Sempre que um kernel for lançado em www.kernel.org/, caso queiram compilá-lo, basta repetir os passos acima.

Apesar disso, aconselho a manter o kernel oficial do Debian Testing instalado, isso se faz com a manutenção dos seguintes pacotes: linux-image-2.6-686 linux-headers-2.6-686.

Toda vez que o sistema for atualizado esses pacotes também o serão.

Screenshots

Kernel 2.6.35:
Kernel 2.6.35-4:
Até a próxima.

Outras dicas deste autor

screenFetch - The Bash Screenshot Information Tool

O Arch Linux e a autenticação de pacotes

Checando por mensagens do Gmail pelo terminal

Script Ubuntu Perfeito para o Lucid Lynx

Arch Wiki Lite

Leitura recomendada

Too much work for irq17

Atualização do kernel 3.18 no Ubuntu

Erro de kernel no Linux?

Atualização para kernel 4.0.1 no Elementary OS

Kernel Debian no Funtoo

  

Comentários
[1] Comentário enviado por pinduvoz em 26/09/2010 - 01:53h

Melhora o desempenho?

Debian já é muito rápido, portanto a pergunta é "dá para sentir diferença"?

[2] Comentário enviado por removido em 26/09/2010 - 09:09h

@pinduvoz, acho que sim, visto que o kernel do Debian é bem tradicional, não dá pra compará-lo por exemplo como o kernel do Arch, Gentoo, aptosid (eta nome feio!) em termos de desempenho (visto que a estabilidade vem em 1º lugar).
Em termos de estabilidade, achei perfeito, já venho utilizando-o já há alguns dias e não ocorreu nada de estranho.

Finalmente encontrei um meio de compilar o kernel com o kernel-package e que na hora de instalá-lo o initrd seja criado, antes tinha que fazer uma gambiarra usando o mkinitramfs.

Se quiser tentar, faça no aptosid e teste o kernel criado no Debian. Qualquer coisa estamos aí pra ajudar.

[]s.

[3] Comentário enviado por alfredop em 26/09/2010 - 19:42h

Perfeita a dica!
Fiz o procedimento no Debian Squeeze, meu servidor de casa, e está perfeito com o kernel 2.6.35.5.
Obrigado pela contribuição.

[4] Comentário enviado por removido em 26/09/2010 - 21:04h

Beleza amigo, que bom que funcionou.

[5] Comentário enviado por removido em 26/09/2010 - 21:07h

Pra estilizar esses pacotes .deb, alterem as seguintes linhas do arquivo /etc/kernel-pkg.conf :

$ sudo gedit /etc/kernel-pkg.conf

# The maintainer information.
maintainer := SEU NOME
email := SEU EMAIL

Quando vocês abrirem o Synaptic, nas propriedades do pacote estará suas informações como mantenedor do mesmo.

[]s.

[6] Comentário enviado por deusdara em 27/09/2010 - 10:56h

Olá

O Linux Mint Debian Edition é baseado o Debian testing.
E este kernel 2.6.35 não está nos repositórios do Debian testind.

Após esta mudança de kernel como ficará a prosposta do Linux Mint Debian Edition de ser uma distribuição de atualização constante ou seja rolling release?

Abraços

Deusdará

[7] Comentário enviado por removido em 27/09/2010 - 11:21h

Simples, o kernel oficial deverá ser mantido conforme sugeri no final da dica.

citação:

'Apesar disso, aconselho a manter o kernel oficial do Debian Testing instalado, isso se faz com a manutenção dos seguintes pacotes: linux-image-2.6-686 linux-headers-2.6-686.'

Isso de compilar o kernel mais recente de www.kernel.org é um passo opcional. O kernel do Debian Testing deverá ser mantido, estou com o kernel mais recente do Debian Testing (2.6.32-5) e esse 2.6.35.4 em uso contínuo e sem problemas.

abs.

[8] Comentário enviado por removido em 19/12/2010 - 13:09h


maiores detalhes acerca do 'make localmodconfig', podem ser obtidos em:

http://kernelnewbies.org/Linux_2_6_32#head-11f54cdac41ad6150ef817fd68597554d9d05a5f

seção:

1.8. Easy local kernel configuration

ou na excelente Arch Wiki:

https://wiki.archlinux.org/index.php/Kernel_Compilation_From_Source

e ainda em:

http://migre.me/3248N

[9] Comentário enviado por Dav1d em 19/03/2011 - 18:37h

Compilei a versão 2.6.38 no Debian Wheezy(Testing) e funcionou perfeitamente.

Ótima dica.

[10] Comentário enviado por pinduvoz em 19/03/2011 - 19:29h

Edinaldo,

posso usar essa dica para compilar o Kernel 2.6.38 no Xubuntu?

[11] Comentário enviado por removido em 19/03/2011 - 19:36h

André,

pode sim, eu fiz usando os módulos locais para poupar tempo = 8min num QuadCore, mas antes de iniciar a compilação pluguei todos os meus dispositivos com a finalidade dos módulos estarem ativos, compilação concluída e testada tudo foi reconhecido:

http://www.vivaolinux.com.br/screenshot/Gnome-Debian-Squeeze-27/

t+

* estou usando Arch no momento, mas vou catar meu .bash_history do Debian e posto os comandos aqui.

[12] Comentário enviado por removido em 19/03/2011 - 19:49h


os passos realizados para a compilação do novo kernel 2.6.38:

$ wget -c -T0 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
$ sudo cp -av linux-2.6.38.tar.bz2 /usr/src/
$ cd /usr/src
$ sux | sudo su | su ### escolham um desses

# tar -jxvf linux-2.6.38.tar.bz2
# ln -sf linux-2.6.38 linux
# cd linux


Opção de compilação apenas com os módulos locais (pluguem todos os dispositivos que puderem antes de começar, por via das dúvidas):

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


Opção para o caso de compilar o kernel completo:

# make xconfig
# fakeroot make-kpkg --initrd --append-to-version=-edps --revision=+1.0 kernel_image kernel_headers

# cd ..
# ls
# dpkg -i *.deb
# apt-get -f install
# chmod 777 *.deb
# mv *.deb /home/USUARIO/Desktop/
# rm -rfv linux
# rm -rfv linux-2.6.38
# rm -rfv linux-2.6.38.tar.bz2

[13] Comentário enviado por pinduvoz em 19/03/2011 - 19:54h

Valeu, Edinaldo.

Outro detalhe: qual seria o CONCURRENCY_LEVEL para o Atom, que usa hyperthread?

[14] Comentário enviado por removido em 19/03/2011 - 20:07h

pelo que sei o CONCURRENCY_LEVEL é o número de cores que possui + 1, e nessa dica eu coloquei 3 embora use um QuadCore, então o correto para diminuir ainda mais o tempo de compilação no meu caso seria 5.

artigos a respeito:

http://linux.koolsolutions.com/2009/04/20/tip-compile-your-programs-fasters-with-multiple-processor-...
http://forums.debian.net/viewtopic.php?t=33960
http://ubuntuforums.org/showthread.php?t=1014190

[15] Comentário enviado por pinduvoz em 19/03/2011 - 20:24h

Estou compilando direto no Atom (AA1) e com o comando:

CONCURRENCY_LEVEL=2 fakeroot make-kpkg --initrd --append-to-version=-i386-aml --revision=+1.0 kernel_image kernel_headers

Vamos ver no que isso vai dar, já que é a primeira vez que me meto a compilar um kernel.

[16] Comentário enviado por pinduvoz em 19/03/2011 - 21:26h

O AA1 já gastou uma hora na compilação.

Vamos ver quanto tempo vai levar.

[17] Comentário enviado por pinduvoz em 20/03/2011 - 00:32h

Levou umas três horas para compilar e já instalei os pacotes.

andre@andre-AOA110:~$ uname -r
2.6.38-i386-aml
andre@andre-AOA110:~$ uname -a
Linux andre-AOA110 2.6.38-i386-aml #1 SMP Sat Mar 19 21:35:10 BRT 2011 i686 GNU/Linux

[18] Comentário enviado por pinduvoz em 20/03/2011 - 01:53h

Passei mais de uma hora brincando com o AA1 na internet e não notei grande diferença no desempenho dele.

O que eu notei foi que o pacote do kernel compilado aqui ficou bem menor do que o original do Ubuntu (cerca de 1/3 do tamanho).

Alguém aí tem dicas de configuração do Kernel para o Atom? Eu não achei nada na internet sobre o assunto e estou aberto a sugestões.

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

Pinduvoz,

qual era o kernel que estava rodando enquanto você compilou esse novo, pois se foi um específico para o AA1, certamente sua config foi utilizada quando vc iniciou a compilação.

a compilação do modo tradicional demora mesmo, algo em torno de 2 horas, usando somente os módulos locais é bem mais rápida.

sobre o kernel você disse não ter notado diferença exceto pelo tamanho dos pacotes, mas tudo foi reconhecido: vídeo, audio etc?

[20] Comentário enviado por pinduvoz em 21/03/2011 - 02:08h

Não, era o kernel generic do Xubuntu 10.10 (2.6.35).

Eu fiz com os módulos locais, conforme a dica, mas o Atom é lento mesmo.

Parece que tudo foi reconhecido, apesar do kernel bem mais "magro".

Mais uma vez obrigado pelas dicas.

[21] Comentário enviado por removido em 21/03/2011 - 17:42h

Pinduvoz,

por nada, em Debian-like se vamos compilar kernel o melhor a fazer é usar o kernel-package assim podemos aproveitar o pacote gerado no futuro ou noutra máquina (nesse exceto quando for usada a opção localmodconfig).

t+

[22] Comentário enviado por removido em 17/09/2011 - 16:41h

Recentemente tenho tido problemas na compilação com o make-kpkg, a solução abaixo foi sugerida pelo @lendro em:

http://www.vivaolinux.com.br/dica/Como-inserir-o-Tux-TuxDebian-durante-o-boot-do-Debian

"
Após o make xconfig ou make menuconfig e antes de compilar ( make-kpkg --initrd blah blah blah ), vamos fazer algumas modificações para evitar erros, digite:

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


A fonte foi retirada dessa dica:

http://www.vivaolinux.com.br/dica/Erro-na-compilacao-de-Kernel-no-Debian


pensamento do dia:

"O mundo anda tão bom sem os captchas"

[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 GCruz25 em 04/10/2012 - 19:25h

Ótima dica! 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