1.实验环境
硬件平台:迅为电子 imx6ull 终结者开发板(板载 RTL8723wifi 模块) 开发板运行的操作系统: yocto 文件系统(如果大家使用的是其它的文件系统,需要注意的是搭建交叉编译环境所需要的交叉编译器一定要和制作文件系统使用的交叉编译器一致。) 2.交叉编译 openssl 使用 ssh 上传本压缩包里面的“openssl-1.0.1s.tar.gz”到 UBuntu 系统,如图 2.1所示: 然后在终端输入“tar -xvf openssl-1.0.2h.tar.gz”,开始解压 openssl,如图 2.2所示: 解压完成会生成“openssl-1.0.2h”目录,如图 2.3所示: 我们使用“cd openssl-1.0.2h”命令,进入“openssl-1.0.2h”目录,如图 2.4所示: 然后我们在终端输入命令
./config no-asm shared --prefix=$(pwd)/install
no-asm:是在交叉编译过程中不使用汇编代码代码加速编译过程,原因是它的汇编代码 是对 arm 格式不支持的; Shared:生成动态连接库; prefix:指定 make install 后生成目录的路径(我们安装到当前目录的 install 文件夹里面); 运行结果如图所示: 然后我们使用“vi Makefile”命令,打开 Makefile 文件,如图 2.6所示: 我们需要修改 Makefile 文件里面的“CC,AR,RANLIB,MM,SHARED_LDFLAGS“这几个变量,这几个变量分别改成:
CC= arm-linux-gnueabihf-gcc 删除 CFLAGS=中的 m64 AR= arm-linux-gnueabihf-ar $(ARFLAGS) r RANLIB= arm-linux-gnueabihf-ranlib NM= arm-linux-gnueabihf-nm SHARED_LDFLAGS=
最终修改结果如图 2.7和图 2.8所示:
按照上面的修完完成以后保存并退出,接着在终端输入“make”命令,可以编译 openssl,运行结果如图 2.9所示: 编译完成如图 2.10所示: 接着我们在终端输入“make install”安装命令,如图 2.11所示: 执行完“make install”命令,会将编译生成的库文件,以及一些头文件拷贝到“ install” 文件夹,如图 2.12所示: 至此关于 openssl 的安装完成了。 3.交叉编译 libnl 使用 ssh 上传本压缩包里面的“libnl-3.2.25.tar.gz”到 Ubuntu 系统(与上面的 openssl 在同一个目录下),如图 3.1所示: 然后在终端输入“tar -xvf libnl-3.2.25.tar.gz”解压命令,如图 3.2所示: 解压完成以后使用“cd libnl-3.2.25”进入到 libnl 目录,如图 3.3所示: 然后我们在终端输入
./configure --host= arm-linux --prefix=$(pwd)/install --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc”命令。 --prefix=$(pwd)/install
指定编译出来的库存放的路径(当前目录下的install 文件夹) 运行结果如图 3.4所示: 接着我们在终端输入 编译命令,如图3.5所示: 编译完成如图 3.6所示: 然后我们在终端输入“make install”命令,安装编译生成的库文件到当前目录的“install” 文件夹,如图 3.7所示: 我们可以使用“cd install”命令,进入到“install”文件夹查看编译生成的文件,如图 3.8所示: 至此 libnl 交叉编译就完成了。 剩下部分请关注:迅为imx6ull开发板板载RTL8723wifi模块创建AP热点(二) 好物推荐-终结者开发板 i.MX6ULL终结者开发板使用手册内容提纲:
|