Você pode compilar um kernel Linux sem suporte ao MMU na maioria das arquiteturas de processador, incluindo o x86. No entanto, como essa é uma configuração rara apenas para usuários que sabem o que estão fazendo, a opção não está incluída no menu exibido por make menuconfig
, make xconfig
e semelhantes, exceto em algumas arquiteturas para dispositivos incorporados em que a falta de MMU é relativamente comum. Você precisa editar o arquivo .config
explicitamente para alterar CONFIG_MMU=y
para CONFIG_MMU=n
. Como alternativa, você pode fazer a opção aparecer no menu editando o arquivo em arch/*/Kconfig
correspondente à sua arquitetura e substituindo a sub-rotina começando com CONFIG MMU
por
config MMU
bool "MMU support"
default y
---help---
Say yes. If you say no, most programs won't run.
Mesmo se você fizer a opção aparecer nos menus, talvez seja necessário ajustar a configuração resultante para torná-la consistente internamente. Sistemas x86 sem MMU são muito incomuns.
A maneira mais fácil de experimentar com um sistema sem MMU deve ser executar um sistema genuíno sem MMU em um emulador, usando a configuração do kernel do Linux fornecida pelo fornecedor do hardware ou com o emulador.
Caso isso não esteja claro, os sistemas Linux normais precisam de uma MMU. O kernel do Linux pode ser compilado para sistemas sem MMU, mas isso introduz restrições que impedem a execução de muitos programas. Comece lendo o suporte para mapeamento de memória No-MMU . Eu não acho que você pode usar glibc sem um MMU, µClibc é normalmente usado em seu lugar. A documentação do projeto µClinux também pode ser relevante (µClinux foi o projeto original para um Linux sem MMU, embora atualmente o suporte para MMU- menos sistemas foram integrados na árvore principal do kernel, assim você não precisa usar o µClinux).