久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 移植SSH到ARM Linux開發板成功

移植SSH到ARM Linux開發板成功

作者: 時間:2016-11-26 來源:網絡 收藏
在移植到友善2440的時候很容易,因為他4.3.2交叉編譯器等庫文件做等好。但是在移植到天漠devkit8000時,遇到非常多的問題。一個月之前遇到問題沒有找到-lgcc_s的問題一直沒有解決,以致后來非常影響開發進度。最近決心解決這個問題,在google上查到沒有找到lxx其實時沒有找到libxxx.so,然后與友善2440比較了下,發現果真是arm-none-linux-gnueabi/libc/lib下缺少libgcc_s.so。最后一步問題總結是我編譯的時候遇到等所有問題,后一一化解,成功移植。所以,如果你在編譯等時候出錯,查看最后的問題總結,應該可以找到答案。

步驟:

本文引用地址:http://cqxgywz.com/article/201611/321878.htm

1.下載源碼包,地址如下:

openssh http://www.openssh.com/portable.html
openssl http://www.openssl.org/source
zlibhttp://www.zlib.net/

2.交叉編譯

創建工作目錄:

#mkdir /work
#cd /work

在/work目下面創建ssh目錄

# mkdir /work/lib -----〉共享庫目錄,通過nfs掛載
# mkdir /work/ssh -----〉工作目錄
# cd/work/ssh
# mkdir compressed install source-----〉compressed 用于存放源碼包
-----〉Install軟件安裝目錄
-----〉Source源碼包解壓目錄
#mv tarpakgs/openssh-4.6p1.tar.gz /work/ssh/compressed
#mv tarpakgs/openssl-0.9.8e.tar.gz/work/ssh/compressed
#mv tarpakgs/zlib-1.2.3.tar.gz /work/ssh/compressed

解壓安裝包:

# cd /work/ssh/compressed/
# tar zxvf zlib-1.2.3.tar.gz-C../source
# tar zxvf openssl-0.9.8e.tar.gz-C../source
# tar zxvf openssh-4.6p1.tar.gz–C ../source

交叉編譯 zlib:
# cd/work/ssh/source/zlib-1.2.3
# ./configure --prefix=/work/ssh/install/zlib-1.2.3
# vim Makefile
CC=arm-none-linux-gnueabi-gcc
AR=arm-none-linux-gnueabi-ar rc
CPP =arm-none-linux-gnueabi-gcc -E
LDSHARED=arm-none-linux-gnueabi-gcc

# make
# make install

交叉編譯openssl
# cd/work/ssh/source/openssl-0.9.8e
# ./Configure --prefix=/work/ssh/install/openssl-0.9.8eos/compiler:arm-none-linux-gnueabi-gcc

# make
# make install

交叉編譯openssh
# cd/work/ssh/source/ openssh-4.6p1
#./configure --host=arm-none-linux-gnueabi--with-libs --with-zlib=/work/ssh/install/zlib-1.2.3 --with-ssl-dir=/work/ssh/install/openssl-0.9.8e --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar
#make
注意:openssh不需要make install

3.操作目標板

3.1確保目標板上有以下目錄,若沒有,則新建:

/usr/local/bin/
/usr/local/sbin/
/usr/local/etc/
/usr/local/libexec/
/var/run/
/var/empty/

3.2從PC機上將以下文件拷貝到目標板Linux系統中

PC機 /work/ssh/source/openssh-4.6p1/ 目錄下的

scpsftpsshssh-addssh-agentssh-keygenssh-keyscan拷貝到目標板/usr/local/bin

moduli ssh_config sshd_config拷貝到目標板 /usr/local/etc

sftp-serverssh-keysign拷貝到目標板 /usr/local/libexec

sshd拷貝到目標板 /usr/local/sbin/

3.3生成Key文件
在PC機 /work/ssh/source/openssh-4.6p1/ 目錄下運行:
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""

將生成的 ssh_host_*_key這3個文件copy到目標板的 /usr/local/etc/目錄下


3.4修改目標板passwd文件。
在/etc/passwd 中添加下面這一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin


4.測試

在目標板上運行:
#/usr/local/sbin/sshd
可以用ps命令查看sshd是否在工作
如果運行的過程中有提示缺少動態連接庫,可以在主機上搜索相應文件,拷貝到目標板/lib/目錄下面,注意創建軟連接!
OK!不出意外的話可以成功,

主機上:

#ssh root@192.168.0.34(開發板的ip)

然后輸入開發板的root密碼就就可以了。

//root密碼就是你開發板上root的密碼,如果之前root沒有密碼,需要重新設置,用passwd root,然后輸入密碼即可。


上一頁 1 2 下一頁

評論


技術專區

關閉