Compilando kernel 2.6 no Slackware 11

Saiba como compilar o kernel 2.6 no Slackware 11 do zero, deixando seu kernel com a sua cara.

[ Hits: 30.907 ]

Por: Adriano Barbosa em 24/01/2007


Baixando o source e descompactando



O primeiro passo é baixar o source do kernel na versão que você quer compilar. Vá até www.kernel.org e baixe o source (código fonte), é um download de aproximadamente 40MB.

De posse do source, vamos descompactar em /usr/src:

# cd /usr/src
# tar xjfv /dir/onde/esta/o/source/linux-2.6.xx


(descompacta o arquivo linux-2.6.xx, onde 2.6.xx é a versão do kernel que você baixou)

# ln -sf linux-2.6.xx linux

(cria o atalho chamado "linux" que aponta para linux-2.6.xx)

Copiando os headers

Caso saiba como bootar o sistema em caso de "kernel panic", você pode remover os pacotes do kernel que estão instalados em seu sistema. Use o comando pkgtool e siga pela opção "Remove", agora basta selecionar os pacotes kernel-modules, kernel-source, kernel-headers e kernel-generic (esse último pode ser substituído por kernel-ide, dependendo da versão do Slackware).

Caso você não saiba como retornar de um "kernel panic", ignore esse último passo e siga sem remover os pacotes.

Agora vamos copiar os arquivos headers do kernel para poder compilar:

# cd /usr/src/linux
# cp include/linux -r /usr/include/


(copia a pasta linux pra /usr/include)

# cp include/asm-i386 -r /usr/include/

(copia a pasta asm-i386 pra /usr/include)

# cp include/asm-generic -r /usr/include

(copia a pasta asm-generic pra /usr/include)

# ln -sf /usr/include/asm-i386 /usr/include/asm

(cria o atalho asm que aponta para asm-i386)

    Próxima página

Páginas do artigo
   1. Baixando o source e descompactando
   2. Configurando o Kernel
   3. Compilando o Kernel e configurando o boot
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando e configurando os módulos do kernel 2.6 no Slackware

Recompilando o kernel na distribuição Debian

Compilando ou atualizando um kernel Linux

O kernel Linux está inchado... Mas, calma, não é bem assim!

Conheçendo o sistema operacional GNU/Fiwix

  
Comentários
[1] Comentário enviado por coffnix em 24/01/2007 - 12:06h

na hora da compilação nem precisa de tudo isso cara....

# make modules && make modules_install && make bzImage

são suficientes. Agora, lembre-se q, caso vc queira recompilar um kernel mais novo no futuro basta usar o .config contido na pasta /usr/src/linux.

abração

[2] Comentário enviado por coffnix em 24/01/2007 - 12:08h

outra coisa q esqueci de citar.... no trecho ao qual vc cita do lilo.conf, o usuário só irá ter q usar initrd caso tenha compilado o suporte ao filesystem usado em /boot como módulo... caso tenha recompilado o kernel usando o filesystem como built-in não precisa criar initrd.

abração

[3] Comentário enviado por tenchi em 24/01/2007 - 14:48h

Eh, o chemonz está certo... O initrd não é obrigatório...
Outra coisa: Não é preciso remover o kernel anterior.
Basta adicionar uma nova entrada para o novo kernel no lilo.conf.
Tudo acontece sem conflito algum.

E também deixa o sistema usável com o kernel antigo, caso o novo não funcione.

Os kernel-headers também não são necessários, basta o source do kernel msm. Bem, eu nunca tive problemas com os headers.

Mas mesmo assim, sua intenção foi boa, e a dica não deixa de ser útil..

Falow.

[4] Comentário enviado por rdutra em 24/01/2007 - 16:53h

bom cara! vou levar com mais calma em casa.

mas eu faço só faço assim
-> copio o kernel pro /usr/src/
-> descompacto
-> linko pra ser o default
-> entro no diretorio
-> make menuconfig
-> marco o meu harware, embutido ou como modulo
-> salvo
-> make bzImage
-> make modules
-> make modules_install
-> copio o .config. o System-map e o bzImage pra /boot
-> vou no lilo, e altero a entrada.
-> fim

[5] Comentário enviado por ricardogrande13 em 25/01/2007 - 01:06h

galera....soou novo em linux e queria saber uma coisa........eu uso FC e queria instalar outro kernel......o FC tem pacotes de instalação RPM......esses RPM já faz todos esses passos que vocês passaram automaticamente ??? ele já vem compilado ??? é instalar e usar ou tem q fazer mais coisas ???

Obriado

[6] Comentário enviado por 4d4c47 em 25/01/2007 - 22:30h

comandos que uso pra compilar kernel 2.6.x

make menuconfig
make clean
make
make modules
make modules_install
mkinitrd -o /boot/initrd-2.6.x.img /lib/modules/2.6.x
cp /usr/src/linux/System.map /boot/System.map-2.6.x
cp /usr/src/linux/arch/i386/boot/bzImage /boot/2.6.x
vi lilo.conf
lilo

[7] Comentário enviado por hugoalvarez em 26/01/2007 - 12:32h

Mais um documento sobre compilação de kernel, sempre útil, mas eu entendo que deixar meu kernel com a minha cara é digitar antes de tudo dentro da pasta linux:

make mrproper

aí sim dar prosseguimento. Está pouco documentado e sem fotos e muitas opções padrão de qualquer kernel ficarão ativas se seguirmos passo a passo esse tutorial, esse tipo de material encontra-se aos montes na internet, não adicionou algo novo.

Flws

[8] Comentário enviado por GilsonDeElt em 26/02/2007 - 23:37h

Cara, gostei do artigo.
Minha dúvida é a seguinte:
Tenho os sources dos kerneis 2.6.17.13 e 2.6.18 que vieram nos CDs do Slack.
Preciso baixar mais alguma coisa antes de tentar compilar o kernel?

No mais, este artigo segue a filosofia do Slack: simples, direto e eficiente.
Assim que possível vou usá-lo para compilar um kernel 2.6 pro meu PC.
Parabéns! Continue assim!

[9] Comentário enviado por vinicius.almeida em 20/09/2007 - 19:16h

WARNING: arch/i386/kernel/built-in.o(.text+0xf35a): Section mismatch: reference to .init.data:trampoline_end (between 'setup_trampoline' and 'cpu_coregroup_map' )
WARNING: arch/i386/kernel/built-in.o(.text+0xf35f): Section mismatch: reference to .init.data:trampoline_data (between 'setup_trampoline' and 'cpu_coregroup_map ')
WARNING: arch/i386/kernel/built-in.o(.text+0xf36d): Section mismatch: reference to .init.data:trampoline_data (between 'setup_trampoline' and 'cpu_coregroup_map ')
WARNING: arch/i386/kernel/built-in.o(.exit.text+0x19): Section mismatch: referen ce to .init.text: (between 'cache_remove_dev' and 'powernowk8_exit')
WARNING: arch/i386/kernel/built-in.o(.data+0xfdc): Section mismatch: reference t o .init.text: (between 'thermal_throttle_cpu_notifier' and 'mce_work')
WARNING: kernel/built-in.o(.text+0x16942): Section mismatch: reference to .init. text: (between 'kthreadd' and 'init_waitqueue_head')

[10] Comentário enviado por vinicius.almeida em 20/09/2007 - 19:16h

esse erro o que pode ser?

[11] Comentário enviado por er0n em 13/12/2007 - 00:52h

o meu tb aparece erros na hora que digito make menuconfig ... olha que [*****]: (ele aparece umonte de warning antes)

make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2

o que pode ser ? ta faltando alguma lib ou algo do tipo ?

[12] Comentário enviado por er0n em 13/12/2007 - 10:55h

esse meu erro eu ja arrumei tb ... é só instalar o pacote ncurses que tava faltando uaihiauah
lembrem-se de ter o pacot diffutils tb pois usa ele


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts