arm64位aarch64 交叉编译openssh

依赖库

ssh由openssh交叉编译
openssh依赖zlibopenssl两个库
分别提供压缩和加密的功能
需要先交叉编译这两个库

网上提到的很多编译方法似乎都不适用aarch64,这里重新总结一下

openssl

编译

可以从官方的github下载比较新的release版本
https://github.com/openssl/openssl/releases
下载tar.gz压缩包

<配置自己工具链的环境变量>
<保证aarch64-linux-gnu- tab键能自动补全就可以,不需要CROSS_COMPILE CC CXX等环境变量>
tar -xzf openssl-OpenSSL_1_1_1a.tar.gz 
cd openssl-OpenSSL_1_1_1a/
./Configure linux-aarch64 --cross-compile-prefix=aarch64-linux-gnu- --prefix=/home/wjk/install/openssl shared
make
make install

这里比较容易出问题的是./Configure,四下寻找才找到正确的配置方法

  • linux-aarch64是指定平台,
  • –cross-compile-prefix是工具链前缀
  • –prefix是执行make install的安装路径
  • shared是指定要生成共享库

执行make install后会将生成的文件复制到选定路径,主要包括

  • bin里面是几个工具
  • include里面是头文件,我们在PC上交叉编译时将需要指定这个头文件搜索路径
  • lib里面是静态库和共享库
  • share和ssl里面不知道是什么,似乎是文档

部署

sudo cp -a 可以保留动态库的软连接
将lib里面的共享库需要复制到机器里面,并且添加共享库的搜索路径
我的机器是放到了/usr/openssl/lib里面
在/etc/profile添加这个库的搜索路径

export SSL_LDPATH=/usr/openssl/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SSL_LDPATH

openssl测试

可以写简单的代码测试ssl是否可以正确工作
ssltest.cpp

#include <stdio.h>
#include <string.h>
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值