Compilando o kernel 2.6.35 no Linux Mint Debian Edition

Publicado por edps em 25/09/2010

[ Hits: 10.692 ]

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

Opera Mobile no Arch Linux

Algumas considerações sobre o Linux Mint 12

Excluindo pacotes da lista de atualizações em distros Debian-like

Desmembrando o Transmission no Slackware

CrunchBang Statler

Leitura recomendada

CD's do Ubuntu de graça!

Kernel 2.4 em placas-mãe ASUS com suporte a discos SATA

Too much work for irq17

Kernel Libre no Fedora 27

Acelerando o reboot em sistemas Debian-like

  

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
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts