配置好之后,可以把rtl8723BU驱动编译进内核,也可以编译成内核模块,然后再动态加载。关于内核模块相关之前分享相关基础驱动的学习的时候也有分享,如:
这里我们直接把rtl8723BU驱动编译进内核。
wpa_supplicant移植有了上一步的基础之后,我们就需要对无线网络进行配置,需要借助一些配置工具,wpa_supplicant就是用来配置无线网络的工具。下面我们来把wpa_supplicant移植到板子上。
交叉编译wpa_supplicant需要依赖于libnl及openssl库,所以我们需要先交叉编译好这两个库。这些库都有很多个版本,可能会遇到版本不匹配的问题,这里我使用的版本如下:
- openssl-1.0.2
- libnl-3.2.23
- wpa_supplicant-2.9
./config no-asm -shared --prefix=/home/LinuxZn/git_clone/openssl-1.0.2/openssl_build_arm os/compiler:/home/LinuxZn/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
make
make install
需要执行config脚本生成Makefile文件,这里加了一些配置参数,配置编译安装的位置为openssl_build_arm文件夹,配置交叉编译器为arm-linux-gnueabihf-gcc。
make编译不通过的话,注意Makefile里交叉编译器配置有没有配置正确,正确的配置如:
CROSS_COMPILE= arm-linux-gnueabihf-
CC= /home/LinuxZn/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/$(CROSS_COMPILE)gcc
编译得到:
我们有必要检查一下生成的可执行程序、库是不是arm版本的,否则后面交叉编译wpa_supplicant就会有问题。如: