一.在移植之前需要準備做一些前期準備: 1.移植zlib庫 1.1獲取zlib源碼 1.2解壓 tar xvf zlib-1.2.11.tar.xz 1.3交叉編譯 1.3.1 指定交叉編譯器 export CC=arm-linux-gnueabi-gcc export AR=arm-linux-g ...
一.在移植之前需要準備做一些前期準備:
1.移植zlib庫
1.1獲取zlib源碼
1.2解壓
tar xvf zlib-1.2.11.tar.xz
1.3交叉編譯
1.3.1 指定交叉編譯器
export CC=arm-linux-gnueabi-gcc
export AR=arm-linux-gnueabi-ar
1.3.2指定安裝路徑進行配置
./configure --prefix=$PWD/_install
1.3.3編譯並安裝
make && make install
2.編譯openssl
2.1tar xvf openssl-1.0.2l.tar.gz
2.2設置一些環境變數方便使用
export CROSS=arm-linux-gnueabi
export CC=${CROSS}-gcc
export LD=${CROSS}-ld
export AS=${CROSS}-as
export AR=${CROSS}-ar
2.3獲取一個針對當前版本的補丁
wget www.linuxfromscratch.org/patches/downloads/openssl/openssl-1.0.2l-compat_versioned_symbols-1.patch
2.4打補丁
patch -Np1 -i ../openssl-1.0.2l-compat_versioned_symbols-1.patch
2.5./Configure -DOPENSSL_NO_HEARTBEATS --openssldir=/home/jello/openssl-1.0.2l/_install shared os/compiler:arm-linux-gnueabi- //openssldir是指定安裝目錄
2.6make
2.7make install
2.8生成動態庫
2.8.1 切換到openssl的安裝目錄(筆者的安裝目錄為/home/jello/openssl-1.0.2l/_install)
cd /home/jello/openssl-1.0.2l/_install
2.8.2 $AR -x libcrypto.a
2.8.3 $CC -shared *.o -o libcrypto.so
2.8.4 rm *.o
2.8.5 $AR -x libssl.a
2.8.6 $CC -shared *.o -o libssl.so
2.8.7 rm *.o
二.準備已經就緒,接下來就是編譯openssh了
1.獲取源碼
git clone git://anongit.mindrot.org/openssh.git
2.編譯
2.1 autoconf
2.2 autoheader
2.3 export CFLAGS="$CFLAGS -I/home/jello/openssl-1.0.2l/_install/include/ -fPIC"
2.4 export LDFLAGS="-L/home/jello/openssl-1.0.2l/_install"
2.5. LD=arm-linux-gnueabi
2.6 ./configure --with-ssl-dir=/home/jello/openssl-1.0.2l/_install \
--with-zlib=/home/jello/zlib-1.2.11/_install --host=arm-linux-gnueabi
2.7 make -j4
3.將生成的文件都拷貝到要移植的板子上吧!!!