Compilação e instalação do kernel 2.6.xx no Slackware

Como configurar e compilar o kernel 2.6.xx sem "traumas". O autor do artigo defende a compilação dos módulos na forma built-in, porém para esse tipo de compilação cada caso é um caso. Aqui veremos como descobrir o hardware que temos na máquina e como escolher os módulos adequados na configuração do kernel.

[ Hits: 40.272 ]

Por: Perfil removido em 17/03/2005


Configuração do lilo



Agora que o kernel está compilado e já na pasta /boot, é necessário configurar o lilo para que o novo kernel possa ser usado, mantendo o kernel original.

Execute:

# mcedit /etc/lilo.conf

e modifique o lilo adicionando uma entrada para o novo kernel:

image = /boot/Linux-2.6.10
  root = /dev/hda6
  label = Linux-2.6.10
  read-only

Essa entrada deve ser feita depois da entrada do kernel padrão, ficando assim:

# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/hda6
  label = Linux
  read-only
image = /boot/Linux-2.6.10
  root = /dev/hda6
  label = Linux-2.6.10
  read-only
# Linux bootable partition config ends

OBS: Verifique a linha timeout = xxxx. Coloque um valor alto para você ter "tempo" de escolher o kernel na hora do boot...

Salve o arquivo (F2). Saia do mcedit (F10).

Execute o comando "lilo" para reconfigurar o lilo:

# lilo

Agora é só reiniciar a máquina, selecionar o kernel novo e testar...

:0)

Agradecimentos ao MacGuyver do canal #gnulinux da brasnet por seus comentários e considerações.

Megatron, líder dos Decepticons
http://megatron.homelinux.org
megatron.lider.decepticon at gmail.com

Página anterior    

Páginas do artigo
   1. O que é necessário
   2. Preparação do kernel
   3. Configuração do kernel
   4. Compilação do kernel
   5. Configuração do lilo
Outros artigos deste autor

PuTTY - Release 0.66 - Parte II

Qmail + Patches + Performance Tuning, the Debian AMD64 way

Repensando o PID 1 - Lennart Poettering

Navegando na internet com (mais) segurança usando extensões no Mozilla/Firefox

Criando Arrays, Arrays Multidimensionais e Hashes em BASH Script

Leitura recomendada

ReactOS: O irmão open-source do Microsoft Windows NT 4.0

Implementando um kernel GNU/Linux mais seguro

Atualizando kernel de 2.4.31 para 2.6.13 no Slackware 10.2

Compilar kernel em distros baseadas em Debian

Debian Linux: Atualizando o kernel 2.6.24 para 2.6.26.3 (versão estável)

  
Comentários
[1] Comentário enviado por removido em 18/03/2005 - 04:20h

Eu utilizo um processo meio "inverso". Até o lspci/lsusb vai tudo certo mas eu sempre tinha problemas quando tinha de escolher os ítens a serem compilados e alguma coisa ficava de fora e eu dançava.
Agora sigo uma dica nota 10 do Morimoto que é carregar o arquivo de configuração do kernel original existente em /boot e geralmente tem o nome config.não_sei_o_que_lá ou não_sei_o_que_lá.config e partir deste arquivo ir retirando o que não desejo.
Aprendi muita coisa sobre o kernel retirando partes dele que não conhecia e depois vendo no que dava.
A melhor distro até hoje que encontrei para recompilar o kernel foi o fedora e o próprio slackware, sendo que neste último o nome dos dispositivos mudam. Por exemplo: /dev/cdrom deve ser lincado para /dev/sr0 mesmo que tenha um leitor de cd simples ou dvd como meu caso.
==========================
É interessante também que o cidadão salve um arquivo de configuração das mudanças que está fazendo. No make xconfig basta ir em "salvar como" e fazê-lo num local qualquer com o nome que desejar. Caso queira ir avançando na compilação, basta carregar o arquivo onde parou, retirar mais alguma coisa, salvar outro arquivo - de preferência como nome diferente - e recompilar o kernel. Consegue-se assim um ótimo resultado na dieta do kernel.
Outra importante mudança, mais do que retirar módulos ou embutí-los no kernel, é fazer a otimização do mesmo para a arquitetura de seu processador.
Mas ao se fazer esta escolha há uma explicação bem clara lá no kernel de que esta mudança será efetiva na compilação de novos programas. Como já instalamos pacotes pré-compilados para arquitetura i386, NÃO SEI se esta mudança realmente fará alguma diferença com os já instalados. Quem tiver alguma experiência nesta parte poderia dizer aqui...
======================
É bom deixar sempre um módulo extra compilado para algum recurso alternativo por exemplo: os módulos da placa realtek (caso tenha alguma de reserva em casa) se a sua der problemas; o driver de uma placa de som de reserva também (na minha casa, tenho uma realtek e um som c-media para qqr eventualidade).
Para vcs terem uma idéia, quando instalei uma placa usb via slot pci não consegui carregar o módulo ohci. Depois de muita cabeçada percebi que tinha desabilitado o mesmo na compilação pois só usava os uhci (chipset VIA) e o ehci (usb 2.0). Resultado? Tive de recompilar tudo de novo...
Tem certas coisas que realmente NÃO se deve abrir mão mesmo que não se tenha instalado...
O problema da otimização do kernel é justamente a perda do horizonte amplo para hardware que se tem...
======================
É isso aí, o artigo tá muito claro e fornecendo mais informações a cada dia que passa...

[2] Comentário enviado por pflynn em 18/03/2005 - 11:45h

Um comentário simples, relativo a opção High Memory Suport: essa opção deve ser ativada também por quem possui 1 GB de memória, e não apenas para quem tiver mais de 1 GB de memória, caso contrário, o kernel não vai reconhecer todo o 1 GB.

[3] Comentário enviado por ygorth em 18/03/2005 - 11:45h

Legal o artigo e muito legal o comentario do acvsilva, vou suar hoje pra compilar.

[4] Comentário enviado por removido em 18/03/2005 - 11:53h

e o diretório /usr/src/ linux-XXX-ZZZ é possivel apaga-lo após termos criado o arquivo de imagem e compilados todos o módulos?

[5] Comentário enviado por hdoria em 18/03/2005 - 13:37h

# lspci | grep audio
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)

Se eu coloco como built-in .. o alsaconf não detecta minha placa.
Qdo coloco como modulo, o alsaconf detecta minha placa normalmente, porém qdou dou o alsamixer eu tenhgo esse erro:


$ alsamixer
alsamixer: function snd_ctl_open failed for default: No such file or directory

Não consigo usar outro mixer também.

E ta assim no kernel:

<*> Sound card support

ADVANCED LINUX SOUND ARCHITETURE:
<*> Advanced Linux Sound Architecture
<*> Sequencer support
< > Sequencer dummy client
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
[ ] Verbose printk
[ ] Debug

Minha placa:

<M> VIA 82C686A/B, 8233/8235 AC97 Controller


Sabe o que pode estar errado?






[6] Comentário enviado por infoman23 em 19/03/2005 - 10:07h

Discordo com alguns pontos cruciais do artigo. Olhem o link abaixo e vejam o que o próprio Linus diz sobre essa questão de utilizar o diretório /usr/src:

http://uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html
ou leia o próprio README que acompanha o kernel src (2.6.x)

E outra questão, o System.map do kernel foi parar aonde?

[7] Comentário enviado por flavioc em 20/03/2005 - 20:22h

Eu compilei o kernel no 2.6.10 no meu Mandrake 10.1 community. Ta tudo funcionando e em cima.

[8] Comentário enviado por leucas em 20/03/2005 - 22:42h

discordo tbm em muitos aspectos do seu artigo...

a exemplo do link simbolico em /usr/src... ele nao precisa ser mais utilizado na serie 2.6

[9] Comentário enviado por infoman23 em 21/03/2005 - 03:14h

Não é que não precisa usar o /usr/src. Não se DEVE utilizar o /usr/src. Leia o link que mencionei acima!

[10] Comentário enviado por removido em 21/03/2005 - 07:11h

já ví trocentos artigos sobre compilação de kernel ...
cada um diz uma coisa diferente ...
no próprio readme do kernel 2.6.10 os procedimentos são diferentes
do que o a "maioria" faz ....
bem ... não sou especialista em compilação do kernel ...
o que eu digo no texto é o que eu fiz no meu slack e funcionou ....
está certo ???... está errado ???.... os "especialistas" que o digam ....
o que sei é o seguinte : o que eu digo no texto funcionou comigo ... portanto :
os que seguirem o texto e tiverem sucesso : excelente ... se não tiverem sucesso : aqui no vol tem muitos outros textos ... leiam os outros ....

:0)

[11] Comentário enviado por infoman23 em 21/03/2005 - 11:38h

Pois seu procedimento está, em parte, incorreto!
Não substituindo o System.map pelo do novo kernel, alguns softwares podem apresentar problemas, como o dosemu.
A questão do /usr/src, você leu o link que mencionei no comentário acima? O "especialista" (Linus) disse que está incorreto...

[12] Comentário enviado por agk em 21/03/2005 - 20:09h

Parabéns Megatron seu artigo está excelente, partindo do princípio de colocar só hardaware que você possui que eu consegui fazer um kernel da série 2.6.x funcionar 100% com a minha placa A7N8X-X chitpset Nfornce2, placa de video radeon 9200se 128mb, placa de tv bttv series.
Agora estou plenamente satisfeito com meu linux e ainda por cima aumentou muito a performance do sistema, que, antes era muito inferior ao windows por causa das "configurações genéricas" que vem na maioria dos kerneis (não sei se é assim que escreve) das distribuições linux.
[ ]'s a todos.

[13] Comentário enviado por removido em 21/03/2005 - 20:51h

novamente devo dizer : o que eu digo no texto é o que eu fiz na minha máquina ..
e funcionou perfeitamente pra mim ....
se o procedimento que eu fiz e que deu certo pra mim está "errado" , então deixa eu ser "errado" que estou muito feliz ....
entendam , o texto é relativo a algo que eu fiz em minha máquina e funcionou pra mim .... outras receitas de compilação de kernel , que os "especialistas" diriam ser "corretas" , não funcionaram comigo ...
portanto : tirem suas próprias conclusões e façam o que acharem "correto" ....
:0)

[14] Comentário enviado por vandeco em 01/06/2007 - 21:53h

po entao galera voçes poderiam me maandar alguma coisa no meu e-mail por que to sem tempo

[15] Comentário enviado por xkillerrx em 12/11/2010 - 10:02h

Ola, o seu site www.planetacybertron.cjb.net esta fora do ar ?

[16] Comentário enviado por removido em 12/11/2010 - 10:11h

exato , minha página não existe mais


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts