Sempre tive vontade de compilar o kernel do Linux apenas com o mínimo necessário para iniciar o computador. Finalmente tive tempo para fazer esta “façanha”, abaixo reproduzo as opções que ativei no kernel.
Lembre-se, este kernel não tem absolutamente nada (nem /proc, rede), apenas serve para inicializar o computador.
O kernel utilizando foi o 2.6.11
make menuconfig
Desabilite todas as opções disponíveis no kernel, todas mesmo.
Depois ative as seguintes opções:
Executable file formats —>
[*] Kernel support for ELF binaries
Device Drivers —>
ATA/ATAPI/MFM/RLL support —>
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL support
<*> Include IDE/ATA-2 DISK support
File systems —>
<*> Second extended fs support
Nesta opção acima você deve escolher o sistema de arquivo utilizado em seu Linux, no caso utilizei ext2.
Saia e salve.
make
make install
Tamanho do kernel: 493KB
Caso queira reduzir ainda mais o tamanho do kernel, ative a opção “General setup” -> “Configure standard kernel features (for small system)” -> [*]Optimize for size.
Com isso você reduzirá ainda mais o tamanho do kernel.
Tamanho final do kernel: 423KB
Se estiver usando o Grub, acrescente o arquivo do novo kernel no /boot/grub/menu.lst.
No lilo.conf ou menu.lst acrescente também a opção “noinitrd”.
É isso!
Alan