在 /etc/fstab 中的挂载点之前启动 udev

Starting udev before mountpoints in /etc/fstab

我正在处理 buildroot 映像,该映像使用 Busybox 进行初始化,并使用 devtmpfs 和 eudev 进行设备初始化。没有 initramfs,系统直接引导到它的永久根目录。 fstab 包含按部分标签引用磁盘的挂载点,这要求永久性磁盘命名的 udev 规则预先为 运行。

buildroot eudev 包为此在 /etc/init.d/S10udev 创建一个 SysV 初始化脚本,默认情况下,它在 inittab 处理系统的挂载点之后由 rcS 启动。允许 rcS 启动 udev 不适用于此用例,因为 udev 需要挂载 proc 和 sysfs 才能工作,这似乎表明 fstab 不是这些挂载点的好地方。

处理此问题的正确方法是将 proc 和 sysfs 的安装点移回 inittab,然后在 mount -a 之前的 inittab 中手动启动 S10udev

或者将这些挂载点标记为 noauto(因此 mount -a 不会尝试挂载它们)然后稍后再挂载它们(稍后的初始化脚本或来自 eudev)