
我有以下設定:
- 硬體: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
並替換rw
為ro
root:
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