Arch-ARM で読み取り専用ルートファイルシステムを構築する方法

Arch-ARM で読み取り専用ルートファイルシステムを構築する方法

私の設定は次の通りです:

  • ハードウェア: RPi 3 モデル B
  • os: 4.4.37-1-ARCH #1 SMP armv7l GNU/Linux
  • ファイルシステム: /boot(vfat)、/(ext4)、/var(ext4)
  • パーティション: 3; マウント済み: /boot、/、/var
  • ストレージ: MLC NAND フラッシュ Micro SD

最近、起動時に lib 内のファイルを参照してカーネル パニック エラーが発生するようになりましたが、このファイルは何らかの理由で破損していることが判明しました。

kernel panic "/sbin/init" error while loading shared libraries /usr/lib/libseccomp.so.2 invalid elf header

したがって、私の理論では、ルート ファイル システムは読み取り専用ではなく、NAND フラッシュを使用しており、予期しないシャットダウンが発生するため、一部のファイルが破損していると考えられます。

目標は、ルート ファイル システムを読み取り専用にして問題を解決することです。

残念ながら、Arch Linux で読み取り専用のルート ファイル システムを作成する方法についての信頼できる情報源を見つけることができませんでした。

Arch Linux フォーラムにも投稿されています:https://archlinuxarm.org/forum/viewtopic.php?f=9&t=11621

答え1

興味のある方のために、私が最終的に行ったことは、 root に対して変更し/boot/cmdline.txtて置き換えることだけでした:rwro

root=/dev/mmcblk0p2 ro

また、次のように変更してパーティションfstabboot読み取り専用に設定します。/varない読み取り専用:

/dev/mmcblk0p1  /boot   vfat    defaults,ro,errors=remount-ro        0       0
/dev/mmcblk0p3  /var    ext4    defaults,noatime        0       2

関連情報