使用运行进程重新安装磁盘

时间:2013-09-11 11:50:23

标签: linux embedded mount

我有一个我正在处理的嵌入式应用程序。为了保护此图像上的数据,其分区安装在RO(这有助于防止出现意外断电时的闪存错误,因为我无法保证干净关闭,您可以拔插头)

我正在工作的需要保护的应用程序驻留在此RO分区上,但是该程序还需要能够在同一RO文件系统上更改配置文件。我有代码允许我根据需要重新安装此分区RW(例如,用于固件更新),但这需要停止从只读分区(即killall my_application)运行的所有进程。因此,我的应用程序无法在不首先自杀的情况下重新安装需要修改的分区(我不确定哪一个是鸡,哪一个是鸡蛋,但你得到了要点)。

有没有办法以这样的方式启动我的应用程序:整个二进制文件保存在RAM中,并且没有链接回到运行它的分区,以便unmount报告分区为忙?

或者有没有办法安全地重新安装这个RO分区而不先杀死在其上运行的进程?

1 个答案:

答案 0 :(得分:0)

您可以将其复制到tmpfs文件系统并从那里执行。 tmpfs文件系统将所有数据存储在RAM中,有时存储在SWAP分区上。

将-oremount标志传递给mount也应该有效。