linux内核字符设备文件的自动创建


  手动创建:mknod
  自动创建设备文件的步骤:
  1.保证根文件系统支持mdev可执行程序
    mdev将来是创建设备文件的真正的人!
    which is mdev //查看mdev的路劲
  2.保证文件系统的etc目录下有fstab文件,文件内容必须有:
    proc  /proc        proc   defaults        0     0
    说明:将procfs虚拟文件系统挂接到/proc目录
    sysfs /sys         sysfs  defaults        0     0
    说明:将sysfs虚拟文件系统挂接到/sys目录
    tmpfs /dev         tmpfs  defaults        0     0
    说明:将tmpfs虚拟文件系统挂接到/dev目录
    注意:sysfs,tmpfs,procfs虚拟文件系统的内容都是存在于内存中!
  3.保证根文件系统的etc/init.d/rcS脚本中,必须有:
    /bin/mount -a #为了解析fstab文件
    echo /sbin/mdev > /proc/sys/kernel/hotplug #将来内核解析hotplug文件,执行mdev可执行程序,创建设备文件
  4.字符设备驱动只需调用以下四个函数,即可完成设备文件的最     终创建
   
    struct class *cls; //定义设备类指针(树枝)
    入口函数调用:
    //定义设备类(长树枝,树枝名叫tarena)
    cls = class_create(THIS_MODULE, "tarena");
    //创建设备文件(长苹果),dev表示设备号,myled表示设备文件
    device_create(cls, NULL, dev, NULL, "myled");
   
    出口函数调用:
    //删除设备文件(摘苹果)
    device_destroy(cls, dev);
    //删除设备类(砍树枝)
    class_destroy(cls);

猜你喜欢

转载自blog.csdn.net/qq_21435127/article/details/79619937