在编译好globalmem驱动模块后,通过insmod加载模块时发现以下错误提示:
linux-olyaim:/usr/src/source/globalmem # insmod globalmem.ko
insmod: error inserting 'globalmem.ko': -1 Device or resource busy
因为是刚开始学LINUX驱动程序,又是通过VMware安装的LINUX操作系统。怀疑是操作系统的问题,后来仔细想想,既然模块都编译通过了,那系统应该是没有什么问题。
就在心灰意冷的情况下敲了一条以下命令:linux-olyaim:/usr/src/source/globalmem # cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
21 sg
29 fb
128 ptm
136 pts
180 usb
189 usb_device
254 vmci
Block devices:
1 ramdisk
2 fd
7 loop
8 sd
9 md
22 ide1
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
突然想起globalmem程序中设定的主设备号也是254,和上面的vmci应该有冲突。所以加载时才出现上面的提示。
解决方法:更换一个上表未使用的的主设备号,或者直接让系统自动分配。
于 2013-12-05 16:01:08发表:
感谢楼主,确实有用啊
liyushu 于 2009-12-11 13:48:06发表:
when i use "rmmod", the system say :"Device or resource busy" , it's not this situtation . thank also .
chris078426 于 2008-10-13 10:17:36发表:
(hl):hao
ppb0320 于 2008-10-12 15:12:58发表:
靠,我也遇见这个问题了
和楼主的情况一模一样,也是在虚拟机上,想破脑袋想得郁闷也没解决
还好看见楼主的帖子,茅塞顿开
驱动开发的学习还刚上路,要学的东西还是很多啊
gongji110 于 2008-04-17 16:19:27发表:
小问题,但是却值得我们注意。