What does it mean to stick ROMFS in RAM?

I am building a kernel for ARM platform running uClinux 2.4 and under General Configuration in Linux configuration there is an option "m68knommu-style embedded romfs in RAM support". My ARM build skills are somewhat limited, but as far as I can tell if I enable this option, ROMFS is copied to the end of the BSS kernels.

What is the purpose of this?

+2


source to share


2 answers


As you correctly point out, this option causes romfs attached to the kernel image to move to the end of the .bss section. This allows the system to start with romfs as the root filesystem.



+4


source


The above is not entirely true; I believe I really worked out the change, if not I definitely used it. As noted, this feature offers support for a romfs filesystem combined with a kernel image - both of which fit in RAM. This option then ensures that the romfs filesystem will automatically estimate its size and be moved to the reserved RAM area (as well as the corresponding pointers passed for installation via the RAM MTD driver).

Without this change, it is still possible to run out of RAM; you just need your bootloader to place it in a specific location and pass the appropriate kernel parameters. The biggest feature of this addition was the ability to have a single unified image with the kernel + filesystem, as Coldfire builds did.



Please note that it only works if you have the appropriate changes in head-platform.S, as I remember, I think it can only be installed on the NetSilicon NS7520.

+2


source







All Articles