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所示: ![]() 然后我們在終端輸入命令 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終結者開發板使用手冊內容提綱: ![]() |