openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包被广泛应用于互联网的网页服务器上。下面这篇文章就给各位小伙伴介绍一下如何在ELF1开发板上移植openssl。
开发环境操作系统:Ubuntu18.04
交叉编译链:arm-poky-linux-gnueabi-gcc
内核版本:Linux4.1.15
openssl版本:openssl-1.1.1c.tar.gz
1、下载源码
https://www.openssl.org/source/old/1.1.1/
2、拷贝源码到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar -zxvf openssl-1.1.1c.tar.gz
3、进入openssl-1.1.1c目录,执行./config生成Makefile文件
elf@ubuntu:~/work/openssl-1.1.1c$ ./config no-asm shared --prefix=/home/elf/work/openssl-1.1.1c/__install
no-asm:在交叉编译过程中不使用汇编代码加速编译过程;
shared:生成动态链接库;
--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)gcc
92 #CXX=$(CROSS_COMPILE)g++
99 #MAKEDEPEND=$(CROSS_COMPILE)gcc
103 #AR=$(CROSS_COMPILE)ar
105 #RANLIB=$(CROSS_COMPILE)ranlib
106 #RC= $(CROSS_COMPILE)windres
5、设置环境变量
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目录下会生成一个__install目录,将此目录下的文件打包
elf@ubuntu:~/work/openssl-1.1.1c/__install$ tar -cvjf openssl.tar.bz2 *
9、将压缩包拷贝到ELF1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/openssl.tar.bz2 .
root@ELF1:/# ls
bin dev etc home lib lost+found media mnt openssl.tar.bz2 proc run sbin sys tmp usr var www
root@ELF1:/# tar -xvf openssl.tar.bz2