新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 移植SSH到ARM Linux開發(fā)板成功

        移植SSH到ARM Linux開發(fā)板成功

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

        步驟:

        本文引用地址:http://www.104case.com/article/201611/321878.htm

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

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

        2.交叉編譯

        創(chuàng)建工作目錄:

        #mkdir /work
        #cd /work

        在/work目下面創(chuàng)建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系統(tǒng)中

        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是否在工作
        如果運行的過程中有提示缺少動態(tài)連接庫,可以在主機上搜索相應(yīng)文件,拷貝到目標板/lib/目錄下面,注意創(chuàng)建軟連接!
        OK!不出意外的話可以成功,

        主機上:

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

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

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


        上一頁 1 2 下一頁

        關(guān)鍵詞: 移植SSHARMLinux開發(fā)

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 清新县| 子长县| 荥经县| 新疆| 高邮市| 岫岩| 嘉祥县| 和田县| 新巴尔虎右旗| 朝阳市| 铅山县| 札达县| 左贡县| 玉树县| 延安市| 庄浪县| 桂林市| 仙游县| 滦平县| 若尔盖县| 邻水| 高淳县| 华亭县| 东乡县| 鞍山市| 万山特区| 咸丰县| 唐山市| 麻城市| 门头沟区| 涟源市| 温泉县| 丰镇市| 漳平市| 新兴县| 修文县| 博湖县| 宁河县| 滦南县| 康平县| 葫芦岛市|