Corrigindo o kernel para permitir inicialização sem initrd

Corrigindo o kernel para permitir inicialização sem initrd

A primeira resposta de 'Por que o Linux usa um disco Ram inicial na inicialização?'afirma que o sistema de arquivos initrd/ram inicial é usado para fornecer drivers para montar o sistema de arquivos raiz real. Também diz que épossívelpara corrigir esses drivers no kernel para que um initrdsistema de arquivos RAM inicial não seja necessário, mas não deu nenhuma explicação de como. Como posso corrigir o kernel (versão mais recente) para montar um sistema de arquivos EXT4 na raiz sem a ajuda do initrd, e esta solução suportará UUIDs?

Responder1

Você não precisa corrigir nada. Você só precisa configurar e compilar o kernel sozinho. Esta é uma tarefa avançada, portanto não é para iniciantes. O truque é configurar o kernel para suportar apenas o seu hardware e compilar tudo dentro do kernel e não como um módulo (pelo menos os drivers necessários para inicializar: controlador de disco, sistema de arquivos,…).

Existem muitos tutoriais sobre como configurar e compilar seu kernel

Então, basta pesquisar no Google "kernel compile {sua distribuição}". É importante usar o tutorial correto para sua distro. A distribuição que você está usando pode esperar algumas funcionalidades disponíveis apenas no kernel "distro" e não no kernel "vanilla". O tutorial correto indicará as fontes corretas.

Você pode usar UUIDs, /etc/fstabmas não no GRUB, após remover o initrd/initramfs.

Por exemplo, estou usando o Gentoo e nunca usei o initrd/initramfs. Sempre que o novo kernel estiver disponível, devo configurá-lo e compilá-lo sozinho. Estou usando o grub com root=/dev/sdb4parâmetro do kernel, mas no fstab estou usando UUIDs.

informação relacionada