如何在 Arch-ARM 中建置唯讀根檔案系統

如何在 Arch-ARM 中建置唯讀根檔案系統

我有以下設定:

  • 硬體:RPi 3 B 型
  • 作業系統:4.4.37-1-ARCH #1 SMP armv7l GNU/Linux
  • 檔案系統:/boot(vfat)、/(ext4)、/var(ext4)
  • 隔板:三個;安裝:/boot、/、/var
  • 儲存:MLC Nand Flash 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

如果有人有興趣,我最終所做的就是修改/boot/cmdline.txt並替換rwroroot:

root=/dev/mmcblk0p2 ro

還需修改fstab如下,將boot分區設定為唯讀。請注意,這/var不是只讀:

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

相關內容