有一台单板计算机从 SD 卡启动 Debian 11,其想法是,如果它无法启动(例如,由于写入过程中断电),它会尝试从已知良好的设置(例如,读-仅分区)。
我已经尝试过 Armbian 的 Overlayroot,但它需要在写入之前进入overlayroot-chroot
环境,并且我希望它是透明的。我也发现了mount -t overlay
,但不确定如何为整个文件系统设置它。我也有一个想法,像实时发行版(casper?)或快照一样进行会话保存,但我仍然不知道如何检测启动失败并切换到从“基本”分区启动。 OpenWRT 的工作原理是这样的吗?那里是怎么做的?
答案1
如何完成“失败启动计数并切换到安全启动环境”取决于您的硬件支持的内容以及您实际想要执行的操作。有些平台有专门的内存,而对于其他平台,您需要使用使用存储介质的软件。
假设你的单板计算机是 EFI 系统,你的 Linux 发行版可能(可能?我不太了解嵌入式平台上 debian 的启动过程)支持systemd-boot,其中带有自动启动评估去做确切地您所描述的:如有必要,启动不同的系统:)