只读根文件系统的问题

只读根文件系统的问题

我正在创建一个用于嵌入式系统的只读根文件系统。最初将系统设置为只读后,我成功启动了系统,但随后我需要对另一个文件(/etc/hostname)进行写访问。我尝试创建一个符号链接,就像我对 /etc/fstab 和 /etc/resolv.conf 所做的那样,但系统始终无法启动 - 我必须启动到恢复模式并撤消更改。有谁知道符号链接的替代方案或者为什么该链接会导致这些问题?

编辑:当我启动进入恢复模式时,在允许我使用命令行之前,我可以在最后看到两个错误:

startpar: service(s) returned failure: hostname.sh udev-mtab ... failed!
sulogin: root account is locked, starting shell

我尝试编辑 /etc/init.d/hostname.sh 以从 /var/network/hostname (实际文件的新位置)读取主机名,现在它启动到登录屏幕。这正在运行 CrunchBang Linux,如果这有什么不同的话。这有帮助吗?

答案1

为什么系统需要写入这些文件才能启动?
听起来您正在寻找的是 COW(写时复制)文件系统。您基本上可以将另一个目录透明地覆盖在根目录之上。任何被修改的文件都会被复制到该目录中并在那里进行修改。原件保持不变。

联盟FS金FS是执行此操作的两个主要文件系统。

相关内容