`overlayroot` 是一种使用 OverlayFS 实现的功能,可将根文件系统挂载为只读,并通过一个临时的写层实现对文件系统的修改。 下文以 RK3568 平台为例,介绍制作 overlayroot 的详细步骤。 1. 制作精简文件系统ramdisk 1.1 环境准备 1. Kernel 配置与设备树修改 4.1 设备树配置修改 修改设备树文件 chosen 节点,添加 overlayroot 参数: chosen: chosen { dev/mmcblk0p6 3.2G 3.1G 0 100%/root-ro /dev/mmcblk0p8 23G 590M 23G 3%/userdata overlayroot 总结 通过以上步骤,您可以成功为 RK3568 平台配置 overlayroot。这种设置使得系统文件更加安全,同时提供灵活的更新和重置能力,非常适合嵌入式场景。
防止漂移:overlayroot 作者在设计 Flexo 之前遇到的一个痛点是,每个启动盘的状态会随着时间的推移而漂移,因为启动盘将留在车内并由连续的任务重用。 为此,作者使用 overlayroot 包在现有图像的顶部提供可写层。硬盘驱动器上的覆盖分区用作在运行时存储图像更改的临时位置。 对于所有操作目标图像,GRUB 配置中的 overlayroot 设置已打开: overlayroot=”crypt:dev=/dev/disk/by-partuuid/55555555-<DISK_ID
root-ro ext4 ro,relatime,data=ordered 0 0 /dev/mmcblk1p8 /userdata ext4 rw,relatime,data=ordered 0 0 overlayroot
update-motd-hwe-eol fi 如果 /usr/lib/update-notifier/update-motd-hwe-eol 存在执行权限,则执行 默认存在这个文件,具备可执行权限 同上 97-overlayroot /bin/sh (egrep "overlayroot|/media/root-ro|/media/root-rw" /proc/mounts 2>/dev/null | sort -r) || true
ntp open-iscsi open-vm-tools openssh-client openssh-server openssh-sftp-server openssl os-prober overlayroot