关于linux中设备节点的创建问题
我做的是一个虚拟命名管道(FIFO)的字符设备,程序完成后通过编译生成了个vfifo.o文件,然后通过insmod vfifo.o命令加载模块,成功,最后通过mknod /dev/vfifo c 241 0 实现文件节点的创建,但显示:mknod: ‘vfifo’: 文件已存在请问这是什么问题,求解,我是菜鸟、刚接触linux不久。。。
望高手解答啊、、本人感激不尽~~~ 内核模块编译出来不是.ko文件吗?
到/dev目录看看有没有vfifo节点。 有可能你的源码没有自动创建节点的功能,所以需要自己mknod,这种情况下,你rmmod的时候,它不会自己去掉节点的,不过可以直接使用,如果major和minor不变的话。
如果改变了的话,你可以rm它就可以了。 回复 2# RoverMo
老内核是.o的 .o肯定是不正确 的。如果存在,用rm 删除就可以了。 回复 5# bin_linux96
2.4版linux驱动模块就是.o文件 是不是你的程序中已经实现自动创建设备节点啊
页:
[1]