3

我正在为运行 uClinux 2.4 的 ARM 平台构建内核,在 Linux 配置的“常规设置”下,有一个名为“ m68knommu-style attach romfs in RAM support ”的选项。我的 ARM 组装技能有些有限,但据我所知,如果我启用此选项,ROMFS 将被复制到内核 BSS 的末尾。

这样做的目的是什么?

4

2 回答 2

4

正如您正确指出的那样,此选项会导致附加到内核映像的 romfs 重新定位到 .bss 部分的末尾。这允许系统从 romfs 作为其根文件系统启动。

于 2009-08-20T08:12:02.280 回答
2

以上不完全正确;我相信我实际上开发了更改,如果不是我肯定使用它。如前所述,此功能提供对连接到内核映像的 romfs 文件系统的支持——两者都放置在 RAM 中。然后,此选项确保 romfs 文件系统将自动评估其大小并移动到 RAM 的保留区域(以及通过 MTD RAM 驱动程序传递的用于挂载的适当指针)。

如果不进行此更改,仍然可能会耗尽 RAM;您只需要让引导加载程序将其放置在预定位置并传入适当的内核选项即可。此更改添加的最大功能是能够像 Coldfire 构建的方式一样拥有一个统一的内核+文件系统映像。

请注意,它只有在您的 head-platform.S 中进行了适当的更改时才有效,我记得——我认为它可能只在 NetSilicon NS7520 上存在。

于 2010-01-30T17:32:40.147 回答