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.884 ]

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

Aplicando patches no kernel

Placas NVIDIA com kernel 2.6.8

Instalando Slackware 10.2 em HDs SATA

Compilando ou atualizando um kernel Linux

Que tal criar uma mini-distro em 1 disquete?

  
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