Se você quer dizer "nenhum sistema de arquivos externo em um dispositivo de bloco" como o ext2 / 3/4, vfat, etc. você pode construir um kernel sem quaisquer módulos do sistema de arquivos construídos como módulos ou embutidos no kernel. Não tenho certeza se o initramfs
support conta como um sistema de arquivos - você precisará de um, é claro, se quiser um shell e outros utilitários. Você pode usar tmpfs
para coisas (e, claro, isso é realmente um sistema de arquivos RAM) como /dev
. Assim, você pode executar o Linux com apenas initramfs
montado em /, bem como itens como /proc
e outros.
Qualquer software Linux referenciará pelo menos minimamente o sistema de arquivos de alguma forma, é um conceito central do UNIX e, portanto, do Linux, então você não pode se livrar de toda a noção de arquivos no Linux e ainda ser Linux. p>
Você costumava ser capaz de desabilitar a camada de bloco ao compilar um kernel. Eu não sei se ainda é possível.
A MMU é um recurso de hardware da CPU e o Linux exige isso. Você geralmente quer isso, pois permite que os processos sejam separados uns dos outros e a maioria dos aspectos de segurança do kernel.
No entanto, existe um projeto chamado uCLinux que é uma implementação do Linux que não requer uma MMU. O objetivo é permitir um ambiente semelhante ao Linux em microcontroladores e similares. Processos no uCLinux podem sobrescrever o espaço de endereços de outros, levando a um sistema menos estável se você não tiver um software bem comportado.