【解决问题】加载驱动模块时Device or resource busy的解决方法

本文介绍了一个常见的内核模块加载问题——设备号冲突,并提供了解决方案。当尝试加载memdev驱动模块时,若出现错误提示“Device or resource busy”,表明所指定的设备号已被占用。文章展示了如何检查当前系统的设备号分配情况,并给出了两种解决方案:更换未使用的主设备号或让系统自动分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编译好memdev驱动模块后,通过insmod加载模块时发现以下错误提示: 
#insmod memdev.ko

insmod: error inserting 'memdev.ko': -1 Device or resource busy 

这种情况一般都是驱动的设备号已经被系统使用了。

回头查看memdev模块的主设备号,我定义的是254,然后查看系统设备列表。
#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
此时发现字符设别驱动的254已经被使用了。
解决方法:更换一个上表未使用的的主设备号,或者直接让系统自动分配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值