如何在 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

相关内容