移植openssh到arm linux


一.在移植之前需要准備做一些前期准備:

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-gcc

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.將生成的文件都拷貝到要移植的板子上吧!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM