解决OK6410开发板无法rmmod(卸载驱动)

在PC linux上面新建一个rmmod.c
#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <fcntl.h>

#include <string.h>

#include <errno.h>

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));

}

使用ARM-LINUX-GCC编译

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

将生成的rmmod复制到开发板的/sbin/目录下面,
试试rmmod是不是可以使用了...

你可能感兴趣的:(linux,Module,delete)