Compilando o KERNEL sem medo do "kernel panic" [Artigo] - página 2
[ Hits: 38.912 ]
Alterando e compilando o kernel
Estando dentro da pasta do source kernel você poderá configurar o Linux com os comandos:
(minha preferida): Interface amigável baseada em ncurses pra modo texto.
Para quem curte modo gráfico esta opção é mais adequada.
Interface modo texto pouco amigável.
Abaixo o esquema "make menuconfig":
Feito isso você poderá setar as opções dos drivers de dispositivo como módulo, que podem vir a ser carregados posteriormente, ou seja, o sistema irá compilar, mas cabe a você decidir se irá carregar ou não, ou se serão carregados diretamente no kernel na inicialização.
Um exemplo do uso disso para um usuário leigo:
Existe um módulo chamado apm (Advanced Power Management) que eu uso para que o meu computador ATX desligue sozinho ao acionar o shutdown, o módulo APM que é encarregado de fazer isso, mas eu não preciso que tal módulo fique carregado no kernel direto enquanto eu uso o computador, isso ocuparia memória, então eu deixo ele como módulo e quando eu for dar o shutdown, carrego ele com o comando "modprobe". Para um computador com muitos recursos isso passa despercebido, mas eu necessito de memória e gosto de deixar o PC "enxuto".
Para que vocês conheçam algumas opções de configuração do kernel, abaixo disponibilizei o link de um trecho do "Kernel do Linux HOWTO" em português:
http://br.kernelnewbies.org/docs/howto/kernel-new/x319.html
Após terem feito as configurações adequadas ao kernel, vamos compilar com os seguintes comandos:
# make dep (cria as dependências)
# make clean (limpa arquivos objetos e outras coisas que o antigo kernel deixou)
Agora que está o segredo, em vez de utilizar o comando "make bzImage", vamos utilizar outro o "make bzlilo".
O comando "make bzimage" substitui a imagem atual do kernel pela imagem nova gerada, e se houver algum erro de configuração você não pode voltar atrás, quando você utiliza o comando "make bzlilo", ele coloca os arquivos System.map e vmlinuz no diretório raiz ( / ).