8

我正在为我的系统使用 ARM Cortex-R4。它有一个内存保护单元而不是一个内存管理单元。实际上,这意味着内存保护有专用硬件,但物理地址和虚拟地址之间存在一对一的映射。我对我应该选择哪个 Linux 有点困惑——禁用 MMU 的标准 Linux 内核或 uCLinux。

在 ARM 的评估板上,我运行了禁用 MMU 编译的标准内核。我使用了 ARM 官方网站上提供的 cramfs 文件系统。内核启动后,我在 shell 中,但我无法做太多实验,因为我发现大多数时候,shell 停止响应(特别是当我按“tab”自动完成时)。

所以我仍然不确定如果我使用正确的文件系统,无 MMU 内核是否应该顺利运行。另外,我应该为无 VM Linux 使用哪个发行版(buildroot?)?

欢迎任何想法或建议。

4

3 回答 3

7

我问这个问题已经2年多了。现在是我应该写下我为自己找到的东西的时候了。

ucLinux 是很久以前从 Linux 内核派生出来的一个项目,旨在为无 MMU 的系统开发内核。但是,过了一段时间,它被合并到了父 Linux 分支。所以,今天不存在任何活跃的 ucLinux 发行版。

因此,如果您从主线内核配置中禁用 MMU,您将获得一个无 MMU 的版本。事实上,现在内核本身提供了配置选项,用户可以指定内存布局和访问权限。

干杯!

于 2014-06-09T10:06:02.810 回答
2

uClinux 是一个 Linux 发行版,它使用“关闭”了 MMU 的 Linux 内核,并在其上添加了一些应用程序和库。你不会选择一个或一个,因为它们是最好的一个。

如果你已经运行了一个 shell,你已经成功地在你的板上启动了没有 MMU 的 Linux,但遇到了一个错误。

于 2012-08-05T10:45:28.827 回答
1

我相信 ucLinux 就是为这样的东西而构建的 [mmu less systems] http://www.uclinux.org/description/

于 2012-08-05T09:56:28.870 回答