1)手工mknod创建
2)自动
自动创建(2.6内核)使用udev(mdev),它存在于应用层。
在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备用
device_create创建对应的设备
- 例子:struct class *myclass = class_create(THIS_MODULE,"my_device_driver");
- device_create(myclass,NULL,MKDEV(major_num,0),NULL,"my_device");
当驱动被加载时,udev(mdev)就会自动在/dev下创建my_device设备文件
在初始化驱动程序中加入以下代码:
- /*自动创建设备文件*/
- myclass = class_create(THIS_MODULE,"test_char"); /*在sys下创建类目录/sys/class/test_char*/
- device_create(myclass, NULL, MKDEV(mem_major,0), NULL, "memdev0"); //自动创建设备文件memdev0