我有一个驱动程序,该驱动程序将从linux内核获取主号码(主号码是动态分配的)。
要为我的驱动程序创建一个设备节点,我手动运行以下步骤
insmod my_driver
cat /proc/devices
-这是要知道分配了哪个专业编号
mknod /dev/myDevName -c Assigned_Major_Number 0
最终,我必须使用Buildroot来构建应包含驱动程序的文件系统。
在Buildroot中,您可以使用设备表文件来创建设备节点(这是在Linux系统启动时代替运行mknod ...
)。
缺少的部分如何在设备表文件中提及主号码,因为我还没有(在系统启动时稍后将由linux内核分配)?!
感谢您的帮助
答案 0 :(得分:1)
让/ dev条目为您动态地自动创建 。当您有动态数字时,静态表太麻烦了。
有几种动态的/ dev管理方法。从最复杂,最有特色到最简单:
udev
和systemd(就像许多台式机/服务器发行版一样)udev
(如果您的初始化系统不是systemd)mdev
(类似于udev,但更简单且非常轻巧)devtmpfs
(不需要守护程序,内核会为您完成) Buildroot可以设置您喜欢的任何一个。只需输入make menuconfig
-> System configuration
-> /dev management
。有关详细信息,请参见手册部分/dev management。