insmod内核模块时提示Failed to find the folder holding the modules怎么办?

时间:2022-01-12 03:59:13

答:笔者通过重新编译内核和根文件系统解决了此问题 (笔者使用的是openwrt系统)

 

分析:

  1. ’Failed to find the folder holding the modules‘这句log从哪里来?

    要知道从哪里来,那么扒一扒insmod这个工具的源码吧

    1.1 注意:在openwrt下使用的是kmodloader作为insmod工具

      ls -lh /sbin/insmod
      lrwxrwxrwx 1 root root 10 Jul 17 09:17 /sbin/insmod -> kmodloader

  2. 获取kmodloader工具源码(kmodloader是ubox的一个子集)

    git clone git://git.openwrt.org/project/ubox.git

    cd ubox

  3. 分析kmodloader工具源码

    3.1 在kmodloader.c文件的main_insmod中发现了以下代码:

if (init_module_folders()) {
                fprintf(stderr, "Failed to find the folder holding the modules\n");
                ret = -1;
                goto err;
        }