+ -
当前位置:首页 → 问答吧 → 字符设备文件的设备号(主设备号和次设备号)是否会写到物理磁盘上面?

字符设备文件的设备号(主设备号和次设备号)是否会写到物理磁盘上面?

时间:2011-11-22

来源:互联网

字符设备文件的设备号(主设备号和次设备号)是否会写到物理磁盘上面?

遇到一个很纠结的问题,我在编译完kernel和user以及filesystem之后,下载调试程序运行,发现在user里面open一个字符设备的时候,实际在kernel里面调用了另外一个device的open函数,导致kernel崩溃。后来调试跟踪发现,dev/下两个设备的设备号(主和次)都一样。原来才发现我down下去的程序实际上挂载的是nand上已存的老的文件系统,不是我最新编译的,ls -al也发现的确两个设备号冲突了。

  情况就是这样,我想问,难道字符设备的设备号需要写入到nand flash里面的本设备的inode马?个人理解,字符设备不需要再物理介质上存入任何信息,因为本身没有文件内容数据,是不是一直以来的理解都是错误的,恳请解答。

作者: tugouxp   发布时间: 2011-11-22

设备节点在2.6.12之后的内核上,已经能够且建议完全自动生成
pc上有udev ,busybox做的嵌入式系统,使用 mdev -s 刷新一下

作者: deep_pro   发布时间: 2011-11-22

当然能够靠udev/mdev自动创建设备节点的驱动程序 也是有特殊的写法的
自己按照老式教科书写出来的驱动,是不支持的,还是得手动mknod

作者: deep_pro   发布时间: 2011-11-22