如何在没有 initramfs 的情况下自动清理根文件系统?

How to automating root filesystem cleaning without intramfs?

我有一个嵌入式设备,在极少数情况下会有脏根文件系统。 System-D 将停止引导:

Give root password for maintainence
(or type control-D to continue):

这些情况很少见,输入root密码后可以通过以下方式解决:

# mount -o remount,ro /
# fsck /dev/mmcblk1p3 

有没有办法自动执行此操作,甚至可以尝试在使用文件系统时执行清理?

您可以通过编辑适当的单元文件(或只是 systemctl edit emergency.service)来覆盖 systemd 紧急模式。

然后您可以添加如下内容:

[Service]
ExecStartPre=/bin/sh -c "mount -o remount,ro / && fsck /dev/mmcblk1p3 && /bin/systemctl reboot"