2

我有一个正在开发的嵌入式应用程序。为了保护此映像上的数据,它的分区安装了 RO(这有助于防止意外断电时出现闪存错误,因为我不能保证干净关机,你可以拔掉插头)

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

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

或者,有没有一种方法可以安全地重新挂载这个 RO 分区,而无需首先杀死正在其上运行的进程?

4

1 回答 1

0

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

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

于 2014-08-03T06:56:18.293 回答