我的设置包括一台运行 Ubuntu 10.10 的服务器和一台运行定制 Linux 的设备。设备分别使用 TFTP 和 NFS 从服务器获取内核并挂载根文件系统。
在我的导出文件中我有:
/export/rootfs 192.168.1.0/24(rw,no_root_squash,no_subtree_check,sync)
我有一个包含我安装的 EXT2 文件系统的文件/export/rootfs
:
mount -t ext2 -o loop TargetFS.ext2 /export/rootfs
当我启动我的设备时,初始化期间出现“设备上没有剩余空间”的信息,尽管设备上有空间。如果我将内容复制TargetFS.ext2
到/export/rootfs
而不是安装它,就不会出现这个问题。
有什么想法吗?
答案1
您正在安装 TargetFS.ext2文件使用环回驱动程序。根据文件的位置和类型,您可以使用-o rw,loop
而不是仅仅 来将其挂载为 rw -o loop
。尽管您将文件挂载在与挂载 NFS 共享相同的位置,但您仍在尝试将更改写入文件。
请记住,无论文件位于何处,都必须是可写的,并且有足够的空间来容纳任何/所有更改。有时,您可以作为回送挂载的文件仍然无法写入,原因是压缩或其他原因……或者您决定不想将更改写入原始图像……另一种方法是查看“扇出”文件系统,它允许您将一个文件系统挂载为只读……并将第二个文件系统作为“覆盖”挂载为可读/写的。 mini_fo长期以来,在许多嵌入式设备(如 openwrt)中都表现得相当不错。(图像是只读的,并且 RAM 驱动器覆盖在顶部,以允许日志等有地方写入)