Linux – Running MMU less Linux on Cortex-R4

armembeddedlinux

I'm using ARM Cortex-R4 for my system. I'm little bit confused about which linux should I go for – Standard Linux Kernel with MMU disabled or uCLinux.

On an eval board, I have run the standard kernel compiled with MMU disabled. I used cramfs filesystem which available on the official ARM website. After the kernel boots up, I receive the shell but I couldn't do much experimentation as I found that most of the time, the shell stops responding (particularly when I press for auto-completion).

So, I'm still not sure whether MMU less kernel shall run smoothly if I use correct filesystem. Also, which distro (buildroot?) should I use for the no-VM Linux?

Any idea or suggestion is welcomed.

Best Answer

ucLinux is not only a kernel, but the surrounding distribution. Since user space programs have to be modified to work well without a MMU due to differences in the semantics of mmap, fork and such, going MMU-less is more than just compiling a kernel differently.

If you're using ucLinux (the distro), can you pull a "vanilla" kernel from kernel.org and use that, compiled MMU-less? That's a good question for their mailing list.