Suponho que é verdade que o hardware moderno não se importaria, por exemplo um kernel de 50MB. Você poderia argumentar que carregar tudo como módulos separados não é tão importante há algum tempo.
No entanto, o sistema ram inicial permite a inicialização de qualquer configuração possível, sem precisar de nenhum tratamento especial no kernel. Escrever código do kernel é um grande negócio. O sistema de ram inicial é a solução correta. Podemos usar muitos códigos semelhantes ao sistema principal, por ex. systemd
; -).
A inicialização a partir de um sistema de arquivos criptografado é um ótimo exemplo disso. O kernel não precisa solicitar a frase secreta.
Um exemplo todos os usos da instalação moderna é encontrar o sistema de arquivos raiz pelo UUID (ou talvez o nome do volume do LVM). Isso é útil porque, do contrário, sua inicialização é interrompida quando você remove uma partição não relacionada, porque todas elas são renumeradas. Ou quando você move discos ao redor ou entre computadores. Ou quando o disco é um CD ao vivo.
Por que precisamos de um sistema de arquivos RAM? Porque não queremos estar strongmente acoplados ao firmware / boot loader. Ele pode nos entregar os dados como um bloco de memória e pronto. Queremos manter o processo de inicialização o mais simples possível. A inicialização é crítica e um caso especial. Não precisamos de uma interface complexa com o outro software de casos especiais. Especialmente o caso do firmware. Firmware é um caso tão especial, então não nos importaríamos com ele o tempo todo, ele será cheio de bugs que ninguém notou. E o firmware é tão crítico que qualquer correção é muito arriscada. Costumava ser que era ROM e você não poderia consertá-lo.