udev:如何等待 shell 脚本中出现特定设备

udev:如何等待 shell 脚本中出现特定设备

我有一个带有小型 initramfs 的嵌入式系统,它需要在 rootfs 分区上挂载一个 overridefs,并将 switch_root 挂载到新的合并文件系统。

这只是从 init shell 脚本运行的几个操作,所以我不想引入整个 systemd 基础设施,但我想确保所有相关的块设备已经存在于系统中或等待它们出现。我将 systemd-udevd 组件添加到了 initramfs 中(如果可以获得相同的结果,甚至考虑切换到 eudev)。

我无法找到任何示例或弄清楚如何使用 udevadm 来阻止并等待特定设备出现。在我看来,udevadm 触发器和解决方案的某种组合应该可以做到这一点,但在我的情况下似乎没有任何组合起作用。

我可以使用 C 中的 libudev 或 Python 中的 pyudev 轻松对其进行编码,但我想应该有一种方法可以使用现有工具来实现这一目标。

我希望避免手动检查给定文件是否已存在而忙于等待。

相关内容