我需要使用具有超级用户权限的 Linux 用户空间中的新 UBIFS 映像更新原始 UBI 分区,但是EBUSY
每当我尝试打开我的对应/dev/ubiX_Y
文件进行写入时,我都会收到(设备或资源繁忙)错误,即使当前文件系统存在它以只读方式安装。我怀疑具有例如 ext4 文件系统的通常块分区可以在以只读方式安装时打开以进行写入,看到诸如 zerofree 和 ext4magic 之类的实用程序以这种方式工作。UBI 分区似乎并非如此。
从理论上讲,我可以使用分区终止进程或附加到它们并强制关闭其上的所有文件,然后再完全卸载分区,但似乎我不能对init
一直保持/etc/inittab
打开状态的 busybox 进程执行任何操作。是的,有问题的分区是根/
挂载的分区。
我也可以实现一个内核模块来完成脏活,但我想为我的更新实用程序保留尽可能多的二进制前向兼容性,并且基本上尽可能多地保持内核版本不可知,从而以这种方式解决它是非常不受欢迎的。我还有其他方法可以做到这一点吗?