O kernel inteiro é carregado na memória durante a inicialização, normalmente junto com um initramfs atualmente. (Ainda é possível configurar um sistema para inicializar sem um initramfs , mas isso é incomum em desktops e servidores.)
A função initramfs é fornecer a funcionalidade necessária para montar os sistemas de arquivos "reais" e continuar inicializando o sistema. Isso envolve módulos do kernel, e também vários binários: você precisa de pelo menos udev , talvez alguma rede, e kmod que carrega módulos.
Os módulos podem ser carregados no kernel depois de inicializar, então não há preparação especial do kernel pelo initramfs . Eles podem ser armazenados em qualquer lugar: o initramfs , /lib/modules no sistema de arquivos real, em uma árvore de desenvolvimento se você estiver desenvolvendo um módulo ... O initramfs precisa conter apenas os módulos que são necessários para montar a raiz sistema de arquivos (que contém o restante).