转至:http://blog.csdn.net/cainiao413/article/details/6181062
习惯上,所有的设备文件 都放置在/dev 目录下。
/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数 。
/dev/*.* 是通过mknod加上去的,格式:mknod 设备文件 c/b major minor ,用户通过此设备名来访问你的驱动。
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
option 有用的就是 -m 了
name 自定义
type 有 b 和 c 还有 p
主设备号
次设备号
主 设备号是由/usr/src/kernels/2.6.32-279.el6.i686/include/linux/major.h(每个人可能存放位置不一样)定义的,如:
#define UNNAMED_MAJOR 0
假如有一个命令mknod doc b 62 0 :
其中的doc为设备文件,b指块设备,0指的是整个DOC。如果把0换为1,则1指的是DOC的第一个分区。2是第2个,依次类推。