我正在为运行uClinux 2.4的ARM平台构建一个内核,在Linux配置中的“常规设置”下,有一个名为“ m68knommu-style连接romfs的选项支持RAM ”。我的ARM组装技能有些限制,但据我所知,如果启用此选项,ROMFS将被复制到内核BSS的末尾。
这是为了什么目的?
答案 0 :(得分:4)
正如您正确指出的那样,此选项会将附加到内核映像的romfs重定位到.bss部分的末尾。这允许系统从romfs作为其根文件系统启动。
答案 1 :(得分:2)
以上不完全正确;我相信我实际上已经发展了变化,如果不是我肯定使用它。如上所述,此功能支持连接到内核映像的romfs文件系统 - 两者都放在RAM中。然后,此选项可确保romfs文件系统自动评估其大小并移动到RAM的保留区域(以及通过MTD RAM驱动程序传递的相应指针)。
如果没有这个改变,它仍然可能用完RAM;你只需要让你的引导程序将它放在一个预定的位置并传入适当的内核选项。这一变化增加的一大特色就是能够像Coldfire构建的那样拥有单一,统一的内核+文件系统映像。
请注意,只有在你的head-platform.S中进行适当的更改时它才有效。我记得 - 我认为它可能只适用于NetSilicon NS7520。