我们的产品具有以下配置,iMx6 处理器,2GB eMMC,512 MB RAM,一对以太网端口和 USART 端口。这将是一个 24/7 365 天工作的设备。
我们计划构建一个大约 7 到 10 MB 的最小 Linux 映像(内核 + RFS),将我们的主应用程序和自定义内核驱动程序保存在一个单独的 2 MB 大小的 squashfs 分区中(因为这是我们将在我们希望保持这个分区独立且小的字段)。
另一个 ext4 读/写数据分区来存储我们的持久数据。除了数据分区,我们希望所有其他分区都是只读分区。
我的查询是
由于我们有一个较小的 Linux 操作系统映像(内核+RFS),我们可以将整个 RFS 作为 initramfs 吗?
将 RFS 作为 initramfs 是否有任何含义?(RAM 会消耗更多,我猜最大大约 20 到 30 MB,考虑到我们拥有的 RAM 量,我觉得这应该不是问题)
另一个解决方案是将 RFS 作为 squashfs,这样可以节省空间。与 initramfs 相比,上述内容有什么其他优势吗?
如果我们有 squashfs,那么我们还需要联合挂载来同时挂载只读应用程序分区和读/写数据分区。
如果我们使用 initramfs,那么我想我们不必实施联合挂载。这种理解对吗?
这是我们在 linux 中的第一个项目,因此我想从使用过这种 RFS 的有经验的人那里获得反馈