【发布时间】:2014-08-01 14:47:50
【问题描述】:
我需要在加载帧缓冲区 (/dev/fb?) 设备时运行脚本。因此,为了进行测试,我使用了这样的 udev 规则(称为 98-framebuffer.rules):
KERNEL=="fb0", RUN+="/bin/touch /tmp/test"
系统启动时没有创建文件。我做错了什么?
【问题讨论】:
-
如果你运行 udevadm test [YOUR DEVICE],你能看到你的规则被采纳了吗?
-
这很奇怪@Matt。例如,如果我将此规则更改为
KERNEL=="sda2", RUN+="/bin/touch /tmp/test"。我在等一个分区,对吧?如果在引导过程中加载了该分区,则不执行该规则。但是如果我手动挂载 sda2 分区,就会执行规则。启动过程中不加载udev规则吗? -
对。在引导过程中何时加载分区? udev 规则在引导过程中加载。重新启动后检查 dmesg。您应该看到 udev 启动。你的坐骑是在那之前还是之后?
-
你是对的,@Matt。我的规则是在挂载规则之后执行的。我没有注意到这一点。非常感谢。 =)
-
很高兴听到。我将在下面抛出解决方案。