使用最近的 Raspberry OS 创建 ramdisk 会导致出现“系统尚未使用 systemd 作为 init 系统启动...”错误消息

使用最近的 Raspberry OS 创建 ramdisk 会导致出现“系统尚未使用 systemd 作为 init 系统启动...”错误消息

不久前,我安装了一些带有 Raspbian 的 Rasperry Pi 2 B+,为了减少 SD 卡的使用,我按照一些说明创建了 ramdisk。

为此,我添加了以下几行/etc/fstab

tmpfs /mnt/ramdisk tmpfs size=10M,nodiratime,noatime,exec 0 0

none /var/run tmpfs size=50M,noatime 0 0
none /var/log tmpfs size=50M,noatime 0 0

当时这样做效果很好。

与此同时,我还设置了带有 Raspberry OS 的 Pi 3B+,但没有添加该 ramdisk。在我注意到这一点并应用相同的更改后,我遇到了奇怪的行为。我无法再重新启动:

pi@raspberrypi:~ $ sudo reboot
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.

我只能通过切换电源来重启。即便如此,我还是注意到有时/系统以只读方式挂载,而再次切换电源也无法解决这个问题。

现在,我只需安装一个新的映像2020-08-20-raspios-buster-arm642021-03-04-raspios-buster-armhf(+ssh启动文件夹中的文件)并将行添加到即可重现该错误/etc/fstab。然后我就无法sudo reboot再使用任何内容了。

在最近的 Raspberry OS 中这些选项是否不再有效?通常不建议将这些文件夹挂载到 ramdisk 吗?

当我执行时,sudo mount -a我没有收到任何错误消息。

答案1

添加这些条目会fstab干扰 Systemd。

/var/run/run在现代 Debian 上,它只是一个符号链接。/run反过来,它已经是一个 tmpfs。这个fstab条目(或者说它的意图)完全是多余的,而且已经存在很长时间了。

至于/var/log,这不应该导致任何问题。更好的办法可能是简单地正确设置写入的内容,这样您就可以拥有持久的严重错误日志,而无需写入无用的信息。

如果需要,您也可以直接删除 rsyslog。您仍将拥有可使用 访问的默认内存日志journalctl

相关内容