主题 : Linux2.6内核的驱动程序中,设备文件创建问题? 复制链接 | 浏览器收藏 | 打印
向你学习!
级别: 新手上路
UID: 11311
精华: 0
发帖: 19
金钱: 105 两
威望: 27 点
综合积分: 38 分
注册时间: 2009-12-03
最后登录: 2010-07-20
楼主  发表于: 2010-04-27 09:14

 Linux2.6内核的驱动程序中,设备文件创建问题?

用的内核是linux-2.6.13的,

对linux的设备驱动程序进行学习,在对设备文件的创建上,有些疑惑

知道,对设备文件的创建是有两种方法的,手动创建:mknod  设备文件名  设备类型  主设备号  次设备号;

自动创建,而这也就是不懂的地方。在学习驱动模块的时候,参考资料及实例,我自己尝试着写驱动,手动加载到内核里,设备文件也得手动,感觉这样很麻烦。

看有资料介绍,设备文件可以自动创建,知道这是有方法的,涉及到class_create(),device_create()函数,

google了一把,说是需要安装udev,而此时,还看到有busybox工具,我有些烦迷糊了,
望大侠指点指点,

谢谢
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-04-27 11:39
看有资料介绍,设备文件可以自动创建

如果你说的设备文件指的是/dev目录下的东西,抱歉,对于没有devfs支持的内核(目前绝大多数2.6的内核都已经去除了devfs)来说,这些文件不会自动被创建。所谓的自动创建,只是由用户空间的应用程序,比如udev或busybox的mdev,根据内核释放出的sysfs文件系统接口以及Netlink UEVENT消息在/dev目录下用"mknod"帮你创建而已。对于这一过程,网上有很多资料,你可以搜索关键字"linux mdev udev hotplug"。
我以前也写过一个关于这方面的帖子,针对的是mini2440上的root_qtopia文件系统里的busybox mdev实现
http://www.aiothome.net/read.php?tid=1702#5048
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
向你学习!
级别: 新手上路
UID: 11311
精华: 0
发帖: 19
金钱: 105 两
威望: 27 点
综合积分: 38 分
注册时间: 2009-12-03
最后登录: 2010-07-20
2楼  发表于: 2010-04-27 13:56
谢谢版主,我再学习学习