在开发板上运行 OpenWRT时,发现在官网下的系统镜像中没有开发板所需的WiFi驱动,如并未包含的 RTL8188EU 驱动模块该怎么办呢?一般情况需要重新编译,编译选项中查看是否有自己需要的模块,如果有则编译进内核,如果没有就应该自己写个 package 再进行编译。在这里给出一种快捷但是比较 dirty 的办法:需要对源码编译过至少一次,因为编译过的代码目录中含有交叉编译工具链和目标文件等。
下面假定 OpenWRT 的源码目录在 /some/path/openwrt
,内核目录为其下的build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-sunxi_cortexa7/linux-x.x.x
,以及 Staging DIR 为其下的 staging_dir
,交叉编译工具链Toolchain 会存放在 Staging DIR 下的 toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi
目录里,前缀为 arm-openwrt-linux-
。目标机器指令集为 arm_a7 。因为我这里使用的开发板为arm_cortex-a7架构。
那么,我们可以在驱动的目录下写一个脚本来帮助编译: