rmmod: chdir(xxx): No such file or directory 解决方法

# /system/busybox/sbin/rmmod snd-soc-rt5512
rmmod: chdir(3.0.8-FriendlyARM-g62c6768): No such file or directory

这是由于使用的 busybox不同于发行版 linux 安装,没有生成相应的目录。
有两种解决办法:
1. 创建 /lib/modules/$(uname -r) 空目录就行了 .
2. 使用如下源码生成 rmmod 命令,就可以没有任何提示的卸载ko模块了

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

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

文章参考:
1. rmmod: chdir(/lib/modules): No such file or directory 解决方法

你可能感兴趣的:(linux驱动)