busybox 的insmod can't insert operation not permitted 错误解决

busybox 的insmod can't insert operation not permitted 错误解决

1. 起因

因为要在Mac OS X操作一款Tiny2451的开发板。原本通过串口转USB线进入shell操作 但是Mac OS X 不认识这款非PL2303的USB串口线。

没办法之下,使用网线与电脑直联,用telnet 192.168.1.230 登录上,但是发现只能用用户名plg和密码plg登录。

hxy$ telnet 192.168.1.230
Trying 192.168.1.230...
Connected to 192.168.1.230.
Escape character is '^]'.

Kernel 3.6.0-FriendlyARM on (/dev/pts/0)
FriendlyARM login: plg
Password: 
[plg@FriendlyARM plg]#

进去可操作,但是操作insmod 即有错。

/sbin/insmod ov7740_dev.ko
insmod: can't insert './cmos_ov7740_dev.ko': Operation not permitted

经过搜索类似问题,原因在于insmod 必须用root用户来执行,错误提示就是权限不够。

2.解决办法

执行如下命令切换到root用户,然后再执行insmod命令即可。

su root

即可执行,但是有的会执行失败。提示

su: must be suid to work properly

这是busybox 本身权限不够,需要用如下命令修改权限

chmod 4755 busybox 

chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。一般拥有root权限,这个命令必须联接在串口用root用户操作才行。

你可能感兴趣的:(Linux驱动,Linux内核)