0

我将 UBIFS 用于 NAND 上的 rootfs。当我使用 nano 命令编辑 /etc/rc.local 之类的文件并保存时,“cat /etc/rc.local”当然会显示编辑后的内容。但是在移除电源(没有reboot 或poweroff 命令)并再次供电后,/etc/rc.local 的内容变为空。

我发现写入的数据在UBIFS中并没有立即写入NAND并写入缓存。(参考:http ://www.linux-mtd.infradead.org/faq/ubifs.html#L_empty_file )

我想在编辑后直接同步到 NAND。我找到的唯一解决方案是 fsync,但这应该在 C 程序中调用,并且需要文件描述符。Nano 命令等没有给我们文件描述符。所以我无法解决这个同步问题。

如何解决这个不同步到 NAND 的问题?有同步命令吗?如果我想在 UBIFS 中编辑和保存文件,是否必须使用 C 程序编辑文件并使用 fsync?

4

1 回答 1

2

您可以使用“同步”命令。系统会将所有缓存刷新到磁盘。

于 2018-06-27T08:01:10.533 回答