Compilar kernel no Linux

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

[ Hits: 9.735 ]

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

Atualizando a biblioteca glibc

Remoção de CONSTRAINT no Firebird

Obtendo especificação de hardware no Linux

Linux Slackware 12.1 com Compiz-Fusion

Leitura recomendada

Kernel Libre no Fedora 27

Recompilação de Kernel no FreeBSD Release 8.1

Reiniciar máquina após Kernel panic

Como omitir/filtrar mensagens inúteis no log (rsyslogd)

Atualizando o kernel no Ubuntu para o 2.6.30

  

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