
(ELF 1/ELF 1S Linux開(kāi)發(fā)板及顯示屏)
OpenSSL是一個(gè)開(kāi)放源代碼的軟件庫(kù)包,應(yīng)用程序可以使用這個(gè)包來(lái)進(jìn)行安全通信,避免竊聽(tīng),同時(shí)確認(rèn)另一端連線者的身份。這個(gè)包被廣泛應(yīng)用于互聯(lián)網(wǎng)的網(wǎng)頁(yè)服務(wù)器上。下面這篇文章就給各位小伙伴介紹一下如何在ELF 1 Linux開(kāi)發(fā)板上移植OpenSSL。
?
開(kāi)發(fā)環(huán)境操作系統(tǒng):Ubuntu18.04
交叉編譯鏈:arm-poky-linux-gnueabi-gcc
內(nèi)核版本:Linux4.1.15
OpenSSL版本:OpenSSL-1.1.1c.tar.gz
?
1. 下載源碼
https://www.openssl.org/source/old/1.1.1/
2.?拷貝源碼到開(kāi)發(fā)環(huán)境/home/elf/work目錄下解壓
elf@ubuntu:~/work$ tar -zxvf openssl-1.1.1c.tar.gz
3.?進(jìn)入openssl-1.1.1c目錄,執(zhí)行./config生成Makefile文件
elf@ubuntu:~/work/openssl-1.1.1c$ ./config no-asm shared --prefix=/home/elf/work/openssl-1.1.1c/__install
no-asm:在交叉編譯過(guò)程中不使用匯編代碼加速編譯過(guò)程;
shared:生成動(dòng)態(tài)鏈接庫(kù);
--prefix:指定make install后生成目錄的路徑;
4.?修改Makefile
第8行修改為:
8 PLATFORM=linux-armv7
第124行修改為:
124 CNF_CFLAGS=-pthread
第125行修改為:
125 CNF_CXXFLAGS=-std=c++11 -pthread
注釋掉90-92行、99行、103行、105-106行:
90 #CROSS_COMPILE=91 #CC=$(CROSS_COMPILE)gcc92 #CXX=$(CROSS_COMPILE)g++99 #MAKEDEPEND=$(CROSS_COMPILE)gcc103 #AR=$(CROSS_COMPILE)ar105 #RANLIB=$(CROSS_COMPILE)ranlib106 #RC= $(CROSS_COMPILE)windres
5. 設(shè)置環(huán)境變量
elf@ubuntu:~/work/openssl-1.1.1c$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
6. 編譯
elf@ubuntu:~/work/openssl-1.1.1c$ make
7. 安裝
elf@ubuntu:~/work/openssl-1.1.1c$ make install
8.?在/home/elf/work/openssl-1.1.1c目錄下會(huì)生成一個(gè)__install目錄,將此目錄下的文件打包
elf@ubuntu:~/work/openssl-1.1.1c/__install$ tar -cvjf openssl.tar.bz2 *
9.?將壓縮包拷貝到ELF 1開(kāi)發(fā)板根目錄下解壓
root@ELF1:~# cd /root@ELF1:/# cp run/media/sda1/openssl.tar.bz2 .root@ELF1:/# lsbin dev etc home lib lost+found media mnt openssl.tar.bz2 proc run sbin sys tmp usr var wwwroot@ELF1:/# tar -xvf openssl.tar.bz2
以上就完成了在ELF 1 Linux開(kāi)發(fā)板上對(duì)OpenSSL的移植,希望對(duì)屏幕前的小伙伴有所幫助。
(聲明:以上Ubuntu開(kāi)發(fā)環(huán)境及相關(guān)文檔資料本公眾號(hào)僅作參考學(xué)習(xí)之用途)
