如何让Linux字符设备在不运行mknod的情况下自动显示在/dev中?

如何让Linux字符设备在不运行mknod的情况下自动显示在/dev中?,linux,linux-kernel,linux-device-driver,kernel-module,Linux,Linux Kernel,Linux Device Driver,Kernel Module,让角色显示在/dev中的最佳方式是什么?我有一个调用register_chrdev的驱动程序,当我加载模块时,我在/proc/devices中看到了这个条目。但是,我仍然必须在命令行上调用mknod,以便在/dev中显示它 是否有一种在模块加载时通过编程方式完成此操作的好方法?要自动创建设备节点,例如通过udev或devtmpfs,需要生成附带的kevent。仅注册chrdev无法做到这一点。相反,它需要遵循设备/驱动程序模型(另请参见文档/驱动程序模型/),并使用kobjects 与drive

让角色显示在/dev中的最佳方式是什么?我有一个调用register_chrdev的驱动程序,当我加载模块时,我在/proc/devices中看到了这个条目。但是,我仍然必须在命令行上调用mknod,以便在/dev中显示它


是否有一种在模块加载时通过编程方式完成此操作的好方法?

要自动创建设备节点,例如通过udev或devtmpfs,需要生成附带的kevent。仅注册chrdev无法做到这一点。相反,它需要遵循设备/驱动程序模型(另请参见文档/驱动程序模型/),并使用kobjects

与drivers/char/misc.c相比,有一个更简单的例子:它使用device_create()。这样做的先决条件是拥有一个struct类,misc.c也展示了这一点