源码下载
官网:
https://www.openssl.org/
使用wget下载代码:
wget https://github.com/openssl/openssl/releases/download/openssl-3.2.3/openssl-3.2.3.tar.gz
解压:
tar zxvf openssl-3.2.3.tar.gz
32位交叉编译脚本
export PATH=/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin:$PATH
install_path=`pwd`/install_arm
cur_dir=`pwd`
mkdir -p $install_path
./Configure linux-armv4 shared no-asm\
--prefix=$install_path \
CROSS_COMPILE=arm-linux-gnueabihf-
make
make install
if [ -d ~/nfsroot/myrootfs/lib ];then
echo "have rootfs,begin copy lib files"
cp $install_path/lib/libcrypto.so* ~/nfsroot/myrootfs/lib/ -af
cp $install_path/lib/libssl.so* ~/nfsroot/myrootfs/lib/ -af
else
echo "not found rootfs,do not copy lib files"
fi
exit 0
将脚本内容保存到文件build.sh,然后执行这个脚本即可。
下面这个代码片段是用于将库复制到NFS挂载的根文件系统中。
if [ -d ~/nfsroot/myrootfs/lib ];then
echo "have rootfs,begin copy lib files"
cp $install_path/lib/libcrypto.so* ~/nfsroot/myrootfs/lib/ -af
cp $install_path/lib/libssl.so* ~/nfsroot/myrootfs/lib/ -af
else
echo "not found rootfs,do not copy lib files"
fi
64位交叉编译脚本
#export PATH=/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin:$PATH
export PATH=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH
install_path=`pwd`/install_aarch64
bak_dir=`pwd`/openssl_bak_aarch64
cur_dir=`pwd`
rm -rf $install_path
mkdir -p $install_path
mkdir -p $bak_dir
./Configure linux-aarch64 shared no-asm\
--prefix=$install_path \
CROSS_COMPILE=aarch64-none-linux-gnu-
make
make install
if [ -d ~/nfsroot/myrootfs/lib ];then
ls -lsh $install_path/lib/libcrypto.so*
ls -lsh $install_path/lib/libssl.so*
echo "have rootfs,begin copy lib files"
cp $install_path/lib/libcrypto.so* $bak_dir -af
cp $install_path/lib/libssl.so* $bak_dir -af
else
echo "not found rootfs,do not copy lib files"
fi
exit 0