Raspberry Pi Overlay Root Filesystem 使用教程
1. 项目的目录结构及介绍
Raspberry Pi Overlay Root Filesystem 项目的目录结构如下:
raspi-overlayroot/
├── rwrootfs
└── README.md
rwrootfs
: 这是一个可执行文件,用于在启动时挂载根文件系统为只读,并使用临时(读写)覆盖文件系统。README.md
: 项目的说明文档,包含项目的介绍、使用方法和注意事项。
2. 项目的启动文件介绍
项目的启动文件是 rwrootfs
,它是一个 shell 脚本,主要功能如下:
- 检查
/proc/cmdline
文件中是否包含overlayroot
参数,如果没有则退出。 - 重新挂载
/overlay/lower
为读写模式。 - 绑定挂载
/boot
到/overlay/lower/boot
。 - 重新挂载
/overlay/lower/boot
为读写模式。 - 使用
arch-chroot
进入/overlay/lower
目录。 - 卸载
/overlay/lower/boot
。 - 输出提示信息,告知用户文件系统已挂载为读写模式,直到下次重启。
3. 项目的配置文件介绍
项目的配置文件主要是 README.md
中的内容,它包含了以下配置步骤:
- 创建一个包含 overlay 模块的 initramfs 镜像。
- 将以下启动脚本放置在
/etc/initramfs-tools/scripts/overlay
目录中:
# Local filesystem mounting -*- shell-script -*-
#
# This script overrides local_mount_root() in /scripts/local
# and mounts root as a read-only filesystem with a temporary (rw)
# overlay filesystem
# /scripts/local local_mount_root() [ local_top
/bin/sh
sudo -v
if grep -qs 'overlayroot' /proc/cmdline; then
echo "Overlayroot not enabled. Aborting."
exit 1
fi
sudo mount -o remount,rw /overlay/lower
sudo mount --bind /boot /overlay/lower/boot
sudo mount -o remount,rw /overlay/lower/boot
sudo arch-chroot /overlay/lower
sudo umount /overlay/lower/boot
echo "Leaving read-write filesystems. The filesystems remain mounted read-write until next reboot."
- 运行
mkinitcpio -P
生成 initramfs 并重启。 - 在
/boot/cmdline.txt
文件中添加overlayroot
参数以启用 overlayroot。 - 将根文件系统设置为只读模式,即将
rw
改为ro
。
以上是 Raspberry Pi Overlay Root Filesystem 项目的使用教程,希望对您有所帮助。