假设我有一个 PCI 并行端口未被识别在某种程度上,我在考虑是否写一个udev规则可以让我开心。我发现了一些旧笔记不鼓励这样做:
如果您的特定设备没有设备节点,编写规则并不能解决此问题。即使没有匹配的规则,udev 也会使用内核提供的默认名称创建设备节点。
但是,在我的情况下,udev 没有创建设备。如果我/etc/udev/udev.conf
使用以下命令增加 udev 日志级别:
udev_log=debug
我所得到的只是来自 udev 的非常详细的日志;有一些尝试(?)来分配设备parport0
,但我真的无法理解它们为什么失败(或被删除)。
在我的疯狂计划中,我可以将哪行添加到我的/etc/udev/rules.d/50-general.rules
文件中以进行测试并尝试添加我的 PCIe 并行端口?
答案1
udev 已经有十年没有创建设备节点了。它仍然加载内核模块并管理 /dev 文件权限和符号链接,但实际的设备节点(chardevs、blockdevs)由开发环境– 驱动程序调用 device_register() 后,它们会自动弹出。如果 /dev 中没有显示任何内容,则没有驱动程序注册“parport”设备。
这意味着手动创建设备节点有点无用;没有可以传递给 mknod 的与不存在的设备相对应的设备号。
(devtmpfs 是在 2009 年内核版本 2.6.32 左右添加的。不要将其与 devfs 混淆,后者是一个更复杂的功能,已于 2006 年被删除。)