(02) Kernel passo a passo
Baixando os fontes:
É esse tem que ser o primeiro passo. Você pode pegar direto do seu cd-rom ou se preferir outra versão do kernel vá até
www.kernel.org e baixe.
Descompacte ele no dir /usr/src/ e crie o link "/usr/src/linux", onde por padrão ficam armazenados os fontes do kernel.
# cd /usr/src/linux
Tá, estamos dentro do /usr/src/linux.
NOTA: Existe uma pasta chamada "Documentation", seria interessante ler ela toda, mas enfim, duvido que você venha a fazer isso, afinal levaria muito tempo. (rs)
Configurando:
Existem três formas para configurar o kernel.
- Modo texto "make config";
- Utilizando menus "make menuconfig";
- Modo gráfico "make xconfig".
Dependendo da escolha vai ser a mesma surpresa: Nossa, que diabos é isso?
O usuário que está recompilando o kernel deve conhecer bem o equipamento, caso ele remova alguma opção do kernel como suporte a IDE, por exemplo, o sistema não voltará a funcionar se o HD for IDE.
Também é muito importante conhecer o comportamento do kernel referente aos seus módulos (drivers).
É possível utilizar esses módulos de duas maneiras:
- Modular: Somente carrega o módulo quando este for requisitado pelo sistema operacional.
- Embutido no kernel: Esse estará carregando desde o momento de carga do OS.
Basta teclar:
< M > Módulo < Y > para incluir < N > para remover
Tá, você agora já deixou daquele jeitinho seu novo kernel.
Lembrete: não vá esquecer de escolher o sistema de arquivos em built-in, senão vai dar em kernel panic.
Feito suas alterações, *Just* "Save and Exit".
Vamos queimar o kernel agora (compilar).
Agora deve-se criar as dependências com os arquivos fontes e remover todos os objetos de compilação anteriores.
NOTA: Ao recompilar um kernel da série 2.4 é necessário rodar também o comando "make dep", que verifica a cadeia de interdependências do kernel.
Para fazer isso digite:
# make clean
(serve para limpar configurações anteriores)
O tempo de compilação varia de máquina para máquina e da quantidade de módulos que se adicionou ao kernel. Quanto menos módulos o kernel tiver, mais rápido ficara o seu sistema, tanto no boot como no uso.
# make bzImage
(este é o comando que vai gerar o executável principal do kernel, o arquivo que vai na pasta /boot)
# make modules
(compila todos os componentes marcados como módulos)
# make modules_install
(instala os módulos na pasta "/lib/modules/")
NOTA: É recomendável renomear o diretório /lib/modules/versão_do_kernel para /lib/modules/versão_do_kernel.old, isto será útil para restauração completa dos módulos antigos caso alguma coisa dê errado).
Você pode ter mais de 1 kernel. Então se quiser manter o outro (caso venha acontecer algum desastre):
Copie a imagem do diretório ../linux/arch/i386/boot/bzImage para o diretório /boot:
# cp ../linux/arch/i386/boot/bzImage /boot/meu-novo-kernel