Compilar kernel no Linux

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

[ Hits: 9.756 ]

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

FirePHP: Depurador de códigos PHP

Remoção de CONSTRAINT no Firebird

Obtendo especificação de hardware no Linux

Linux Slackware 12.1 com Compiz-Fusion

Atualizando a biblioteca glibc

Leitura recomendada

Turbine sua Distro com o Kernel Liquorix!

Kernel 3.19.3-smp no Slackware Current

Informações sobre semáforos e memória compartilhada

Slackware 10.0 com Linux-2.6.7

Instalando kernel 2.6.x no Slackware 10.2

  

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