我有一个嵌入式板,我正在它上运行Linux。Linux是通过uboot引导的。完整的Linux映像构建为Initramfs。当系统启动时,我发现根FS是读-写的。我的理解是,默认情况下,Initramfs应该是只读的。对吗?
我也尝试过更改uboot中的引导参数,使其只读,但没有产生任何效果。我想知道在默认情况下如何使Initramfs只读?
发布于 2017-05-11 06:54:51
完整的Linux映像构建为Initramfs。
这是一个糟糕的措辞,如果不是不准确的,描述。
initramfs使用cpio存档文件,而不是图像文件。
cpio存档文件可以链接到Linux内核映像中。
initramfs“映像”始终是cpio存档文件,而不是文件系统映像。
我的理解是,默认情况下,Initramfs应该是只读的。对吗?
不对。
将initramfs挂载为只读文件系统是没有意义的。
创建和挂载initramfs时,它是一个空文件系统。
如果它是只读的,那么initramfs就不能用它的cpio存档来填充,而initramfs仍然是一个空的文件系统。
使用内核命令行参数(如root=/dev/ram ro )的建议表明(不推荐的) ramdisk和ramfs之间存在混淆。
参见Linux内核Documentation/filesystems/ramfs-rootfs-initramfs.txt
我想知道在默认情况下如何使Initramfs只读?
您可以重新装入它为只读。
请参阅http://lkml.iu.edu/hypermail/linux/kernel/0908.1/01693.html
和
https://serverfault.com/questions/463828/linux-initramfs-read-only
https://stackoverflow.com/questions/43891240
复制相似问题