当社の製品には、iMx6 プロセッサ、2GB eMMC、512 MB RAM、2 つのイーサネット ポート、および USART ポートの構成があります。これは、24 時間 365 日稼働するデバイスになります。
最小限の Linux イメージ (カーネル + RFS) を約 7 ~ 10 MB で構築し、メイン アプリケーションとカスタム カーネル ドライバーをサイズ 2 MB の個別の squashfs パーティションに保持することを計画しています (これは、このパーティションを別々に小さく保ちたいフィールド)。
永続データを格納するための別の ext4 読み取り/書き込みデータ パーティション。データ パーティションを除いて、他のすべてを読み取り専用パーティションにする必要があります。
私のクエリは
Linux OS イメージ (カーネル + RFS) が小さいため、RFS 全体を initramfs として使用できますか?
initramfs として RFS を使用することには何らかの意味がありますか? (RAM はもっと消費されます。私たちが持っている RAM の量を考えると、最大で約 20 から 30 MB だと思いますが、これは問題ではないと思います)
別の解決策は、RFS を squashfs として使用することです。これにより、スペースが節約されます。上記にはinitramfsよりも他の利点がありますか?
squashfs がある場合は、読み取り専用アプリケーション パーティションと読み取り/書き込みデータ パーティションの両方を一緒にマウントするために、ユニオン マウントも必要です。
initramfs を使用する場合、ユニオン マウントを実装する必要はないと思います。この理解は正しいでしょうか?
これは Linux での最初のプロジェクトなので、そのような RFS を使用した経験のある人からフィードバックを得たいと思います。