LINUX驱动学习:加载模块时出现Device or resource busy的解决方法
在编译好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应该有冲突。所以加载时才出现上面的提示。 解决方法:更换一个上表未使用的的主设备号,或者直接让系统自动分配 |