在嵌入式系统上使用ramfs

在嵌入式系统上使用ramfs

我需要编写一些在 Linux 上运行的软件,该软件安装在基于 x86 的嵌入式设置上,该设置具有 8GB 紧凑型闪存驱动器用于数据存储。关键要求是每 30 秒将测量数据记录到文件中,以及对断电的鲁棒性(我的系统必须每次都能成功重新启动,并且记录数据不得损坏)。我使用 buildroot 来生成我的内核、交叉工具和文件系统。目前我尝试了两件事

  1. .cpio仅使用buildroot 提供的文件系统启动。
  2. 将文件系统复制到一个ext3分区并告诉 syslinux 根文件系统位于此处。

如果我使用选项 1. 并将我的根文件系统放在 RAM 中,我将在断电时丢失数据。如果我使用选项 2,那么我将面临系统文件在断电时损坏的风险。这个问题的答案对于嵌入式设置来说,使用只读根文件系统是个好主意吗?引导我考虑使用只读文件系统,但我收到的唯一答案目前对于我的 Linux 专业知识水平来说太高级了。这让我考虑使用基于 RAM 的文件系统。对于使用.cpio文件启动的 RAM 文件系统,我怎样才能进行操作,以便确保断电安全并获得持久数据存储来满足我的数据记录要求?

答案1

  1. 使用 RAM 运行您的系统(更快、只读、以已知的良好状态运行等)
  2. 将数据记录到 USB 记忆棒上的单独分区。sync如果您的写入不太频繁,可以尝试安装它。

相关内容