问题: 开发板使用buildroot构建的根文件系统,加载驱动时提示 depmod、modprobe、modinfo:not found ;
提示: 命令执行格式为: depmod、 modprobe/ modinfo [.ko],这三个命令都可以在任何路径下执行;
而另一个 驱动加载 命令 insmod则必须到 /lib/modules/(uname -r)/ 路径下执行。
depmod 命令 读取 /lib/modules/(uname -r)/ 路径下.ko 模块,并生成以下三个文件
modprobe 加载指定模块
modinfo 输出模块详细信息 如 filename 、author 、license等
解决方法:
1、进入buildroot源码文件夹 …/buildroot-2022.02.1/output//build/busybox-1.35.0/,执行 sudo make menuconfig 打开busybox配置界面
2、进入 linux Module Utilities, 上下键选择depmod,并按 y 选中; 以此方式继续添加 modprobe 、 modinfo 如图;
3、退出 linux Modules Utilites后 返回步骤 1 界面;在步骤 1界面选择最后一项 Save configuration to an alternate file,进入如图界面:
填上 busybox.config,点击 ok保存后退出所有界面,在 …/buildroot-2022.02.1/output//build/busybox-1.35.0/就会生成busybox.config 文件。
4、将…/buildroot-2022.02.1/output/build/busybox-1.35.0/busybox.config 替换 …/buildroot-2022.02.1/package/busybox/路径下的 busybox.config
5、在busybox源码文件夹下…/buildroot-2022.02.1/ 执行以下指令:
sudo make busybox
sudo make
之后在 …/buildroot-2022.02.1/output/images/路径下重新生成 rootfs.tar
6、开发板使用新的rootfs.tar 根文件系统,成功执行depmod指令。