UBIFS:不保存编辑的文件。如何将它们同步到NAND?
UBIFS: editted files are not saved. how to sync them to NAND?
我将 UBIFS 用于 NAND 上的 rootfs。
当我使用 nano 命令编辑 /etc/rc.local 之类的文件并保存时,
"cat /etc/rc.local" 显示编辑的内容,当然。
然而,在移除电源(没有重启或关机命令)并再次供电后,/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?
您可以使用'sync'命令。系统会将所有缓存刷新到磁盘。
我将 UBIFS 用于 NAND 上的 rootfs。 当我使用 nano 命令编辑 /etc/rc.local 之类的文件并保存时, "cat /etc/rc.local" 显示编辑的内容,当然。 然而,在移除电源(没有重启或关机命令)并再次供电后,/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?
您可以使用'sync'命令。系统会将所有缓存刷新到磁盘。