openssl移植到aarch64 Linux
阿新 • • 發佈:2020-11-27
openssl簡介
OpenSSL 是一個安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。
開發環境
Ubuntu 16.04
aarch64-linux-gnu-gcc version 5.4.0
開發環境不一定是我這配置,只要是linux作業系統,和ARM對應的交叉工具鏈就可以。
目標環境
rockchip px30(Cotex A35)
核心版本:4.4.143
移植步驟
1.從OpenSSL官網下載最新原始碼 openssl-1.0.2l.tar.gz。
2.執行下面命名解壓縮:
tar zxvf openssl-1.0.2l.tar.gz
1
3.進入剛解壓的目錄cd openssl-1.0.2l/
,執行下面指令,做相應的配置:
./config no-asm shared --prefix=$(pwd)/__install
1
no-asm
: 是在交叉編譯過程中不使用匯編程式碼程式碼加速編譯過程,原因是它的彙編程式碼是對arm格式不支援的。
shared
:生成動態連線庫。
--prefix
:指定make install後生成目錄的路徑,不修改此項則預設為OPENSSLDIR目錄(/usr/local/ssl)。
4.修改Makefile:
具體見附件Makefile
CC= aarch64-linux-gnu-gcc
注:上面各項都是修改後的,沒有增加內容,只是在原來基礎上做修改,故沒有列出修改前的內容。
5.執行下面命令,編譯OpenSSL庫:
make
1
6.執行下面命令,將編譯好的庫檔案拷貝到指定目錄:
make install
7.include下檔案在編譯程式的時候需要指定include的路徑。而lib下在程式執行時會用到,需要將lib下檔案拷貝到開發板中。
安裝錯誤 make install installing man1/smime.1smime.pod around line 272: Expected text after =item, not a number
smime.pod around line 276: Expected text after =item, not a number
smime.pod around line 280: Expected text after =item, not a number
smime.pod around line 285: Expected text after =item, not a number
smime.pod around line 289: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make: *** [install_docs]
解決方法:
開啟/usr/bin/pod2man 這個配置檔案看一下 可以的話 註釋掉 第71行 在編譯 用#註釋
參考:
https://blog.csdn.net/u010696228/article/details/44977497?
https://blog.csdn.net/zhaoxd200808501/article/details/74331986?utm_source=copy