Compilar kernel no Linux

Publicado por Fábio Felix Dias em 11/02/2009

[ Hits: 9.625 ]

Blog: http://lattes.cnpq.br/3165934037473827

 


Compilar kernel no Linux



Passos para compilação de kernel:

Conhecer bem a sua máquina. Esse, com certeza, é o ponto mais importante.

Obter o código do kernel a ser compilado.

Obs.: Se for recompilar o kernel atual, o código deve estar em /usr/src. Se não, procurar no CD/DVD da distribuição o pacote kernel-source.

Criar em /usr/src um diretório com o código do kernel a ser compilado. Remover o link "linux" e criar outro com o mesmo nome (linux), apontando para o diretório recém criado.

Obs.: Se for recompilar, criar um diretório com nome diferente do que já existe e colocar o conteúdo do anterior dentro dele.

Dentro do diretório do código a ser compilado executar:

# make mrproper
ou
# make clean

Os comandos acima só necessitam ser executados quando for uma recompilação. Vale lembrar que "make mrproper" apaga tudo, inclusive o .config, coisa que o "make clean" não faz. É interessante utilizar o "make clean" para continuar com o .config anterior para somente modificar o que for necessário nele.

# make config
ou
# make menuconfig
ou
# make xconfig

e

# make

Obs.: Para um kernel da série 2.4 utilizar "make dep", "make bzImage", "make modules" ao invés do make.

# make modules_install

Em /etc/rc.d criar um arquivo rc.modules<kernel compilado>.

Em /boot criar um link para /usr/src/linux/arch/x86/boot/bzImage.

Editar o lilo.conf, acrescentando uma entrada para a nova imagem do kernel:

image = /boot/bzImage
initrd = /boot/initrd.gz (cf. 13)
root = /dev/<dispositivo>
lable = <rótulo>

Executar em /boot o comando:

# mkinitrd -c -k <kernel compilado> -m <sistema de arquivos>

Esse comando irá gerar o initrd.gz que deve ser adicionado ao lilo.conf. Torna-se necessário se o sistema de arquivos for compilado como um módulo do kernel.

# lilo

Reiniciar a máquina e iniciar pelo kernel compilado.

Para maiores informações, temos vários artigos no VOL, como por exemplo:
Outras dicas deste autor

Obtendo especificação de hardware no Linux

Atualizando a biblioteca glibc

Remoção de CONSTRAINT no Firebird

FirePHP: Depurador de códigos PHP

Linux Slackware 12.1 com Compiz-Fusion

Leitura recomendada

Obtendo os sources do kernel estável 'automagicamente'

Exploit dá acesso root em máquina local - kernels 2.6.17 e 2.6.24.1

Ubuntu 32 bits reconhecendo 4GB (ou mais) de RAM

Evitando problemas de Kernel Panic

Problemas com kernel 2.6.10 no Slackware 10

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts