asd123vae 发表于 2011-05-14 20:39

关于linux中设备节点的创建问题

我做的是一个虚拟命名管道(FIFO)的字符设备,程序完成后通过编译生成了个vfifo.o文件,然后通过insmod vfifo.o命令加载模块,成功,最后通过mknod /dev/vfifo c 241 0 实现文件节点的创建,但显示:mknod: ‘vfifo’: 文件已存在
请问这是什么问题,求解,我是菜鸟、刚接触linux不久。。。
望高手解答啊、、本人感激不尽~~~

RoverMo 发表于 2011-05-16 20:21

内核模块编译出来不是.ko文件吗?
到/dev目录看看有没有vfifo节点。

nazily2150 发表于 2011-05-17 22:56

有可能你的源码没有自动创建节点的功能,所以需要自己mknod,这种情况下,你rmmod的时候,它不会自己去掉节点的,不过可以直接使用,如果major和minor不变的话。

如果改变了的话,你可以rm它就可以了。

embeddedlwp 发表于 2011-05-18 07:08

回复 2# RoverMo


    老内核是.o的

bin_linux96 发表于 2011-06-07 19:49

.o肯定是不正确 的。如果存在,用rm 删除就可以了。

garyv 发表于 2011-06-08 10:24

回复 5# bin_linux96


    2.4版linux驱动模块就是.o文件

ychena 发表于 2011-06-11 19:44

是不是你的程序中已经实现自动创建设备节点啊
页: [1]
查看完整版本: 关于linux中设备节点的创建问题