Configurando
Após acessar o diretório onde está o source do Kernel 3.4, execute o comando abaixo para definir quais serão as funcionalidades compiladas, como
built-in (estas ficarão dentro do kernel) e os módulos que serão compilados externamente, ou seja, que ficarão dentro de
/lib/modules/3.4.
Uma dica é carregar a configuração do Kernel atual no momento de configurar o Kernel que será compilado para evitar erros (indicado principalmente
para iniciantes). Para isso, logado como root, copie para dentro do diretório
/usr/src/linux-3.4 o arquivo de configuração do Kernel que
está usando:
# cp /boot/config-$(uname -r) ./.config
Em seguida, execute o comando usando o usuário root para gerar a configuração personalizada:
# make menuconfig
Na tela de configuração do kernel, vá na opção:
→ Load an Alternate configuration File
Digite:
.config
E dê um
OK.
Em seguida, salve a configuração na opção e saia da configuração do kernel:
→ Save an Alternative Configuration File
Caso deseje alterar as configurações, digite:
make menuconfig novamente, faça as alterações e salve.
Instalando o Kernel e initrd
Após configurar o Kernel, compile os pacotes com o comando
make:
# make
Caso use um processador
Dual Core na máquina que está compilando o Kernel, execute o comando
make -j4 (o comando
fará a compilação terminar mais rápido).
A opção "-j" executa
N jobs por segundo, onde 'N' será a quantidade de funcionalidades compiladas por segundo:
# make -j2
Depois de compilado, é hora de instalar os módulos do Kernel e gerar a imagem
initramfs (initrd). Para instalar os módulos, execute o
comando abaixo; este comando irá copiar todos os módulos externos para o diretório
/lib/modules/3.4:
# make modules_install
Para instalar o Kernel, copie o arquivo de configuração do kernel compilado e a imagem initramfs e copie o arquivo "bzImage" para o diretório
/boot e, opcionalmente, os arquivos de
configuração de "System.map", ou Execute o comando a seguir:
# make install
Caso a imagem
initramfs-3.4 não for gerada pelo comando
make anterior, rode o comando abaixo para gera-la.
# dracut /boot/initramfs-3.4.img 3.4
Obs.: Se compilou os módulos que o Kernel necessita para acessar o sistema instalado junto com o Kernel (como 'built-in'), não há necessidade de
gerar esta imagem. Mas, se feito o contrário, e se não gerar o initrd, terá um
kernel Panic.
Os comandos
make install e/ou
dracut irão gerar o arquivo "initramfs-3.4.img" dentro do diretório
/boot. O
tamanho da imagem varia de acordo com a configuração gerada para o Kernel compilado (podendo ficar com o tamanho de 60 Megabytes, ou até
mais), mas este tamanho não só se atribui à configuração.
Esta imagem contém um sistema de arquivos Raiz temporário, que o Kernel usa para acessar o sistema de arquivos principal. A imagem contém, além de
módulos que o Kernel necessita para o acesso, comandos e diretórios como:
/proc, /sys, /dev, entre outros.
Após executar o comando
make install, será adicionado uma entrada para o kernel atualmente instalado, caso esta entrada não seja
criada, edite o arquivo de configuração "grub.conf". Coloque a entrada referente ao novo Kernel e a imagem initramfs que foram gerados e salve as
alterações:
# vim /boot/grub/grub.conf
Pronto. Seu novo Kernel foi compilado e gerado.
Agora tenha bom uso do mesmo.