2013年(30)
分类: LINUX
2013-08-16 22:31:26
转自:http://www.cnblogs.com/feisky/archive/2010/05/29/1746888.html
|
1.创建/lib/modules/2.6.30空目录就.
2.使用如下源码生成rmmod命令,就可以没有任何提示的卸载ko模块了[luther.gliethttp]
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
const char *modname = argv[1];
int ret = -1;
int maxtry = 10;
while (maxtry-- > 0) {
ret = delete_module(modname, O_NONBLOCK | O_EXCL);//系统调用sys_delete_module
if (ret < 0 && errno == EAGAIN)
usleep(500000);
else
break;
}
if (ret != 0)
printf("Unable to unload driver module \"%s\": %s\n",
modname, strerror(errno));
}
3.把生成的命令复制到文件系统
# arm-linux-gcc -static -o rmmod rmmod.c
# arm-linux-strip -s rmmod
# cp rmmod /nfs/
cp /nfs/rmmod /sbin
(注:上面的cp命令最好先不要做,我记得第一次我这样做的时候,开发板就死机了,后来重启也岂不来了,后来我查看了一下,在开发板中/sbin/rmmod是一个链接,我的做法是用cp命令:cp -l /sbin/rmmod /sbin/rmmod.bak,然后再把原来的rmmod删除了,在cp进去,这样的话,就没有问题了,呵呵)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiaoliang328/archive/2010/01/15/5191821.aspx