您的位置:首页 > 其它

rmmod: chdir(/lib/modules): No such file or directory的解决方法

2013-06-11 15:14 453 查看
当在开发板上加载驱动后用rmmod卸载的时候会提示




网上搜了一番找到了答案

使用如下源码生成rmmod命令,就可以没有任何提示的卸载ko模块了


1. #include <stdio.h>

2. #include <stdlib.h>

3. #include <unistd.h>

4. #include <fcntl.h>

5. #include <string.h>

6. #include <errno.h>

7. int main(int argc, char *argv[])

8. {

9. const char *modname = argv[1];

10. int ret =-1;

11.

12. int maxtry = 10;

13.

14. while(maxtry--> 0){

15. ret = delete_module(modname, O_NONBLOCK | O_EXCL); //系统调用sys_delete_module

16. if(ret < 0 && errno == EAGAIN)

17. usleep(500000);

18. else

19. break;

20. }

21.

22. if(ret != 0)

23. printf("Unable to unload driver module \"%s\": %s\n",

24. modname, strerror(errno));

25. }

将上述代码保存名为rmmod.c的文件

#arm-linux-gcc -static -o rmmod rmmod.c

#arm-linux-strip -s rmmod

将该程序复制到/sbin目录中,覆盖原来的rmmod命令

#cp rmmod /sbin

赋予该命令执行权限

#chmod 777 rmmod 然后再按原来的方式加载和卸载模块,一点问题都没有了

发现找不到这个文件#include <unistd.h>

不过没关系 把这一行注释掉就OK;

编译



拷贝



修改权限




然后就可以了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: