1.移植rsync
因為要使用rsync把板卡已經配置好環境的文件系統備份出來。但是使用apt-get不能下載rsync,因此就自己下載rsync的軟件包。
下載地址:https://download.samba.org/pub/rsync/src/
tar -zxvf rsync-3.1.3.tar.gz cd rysnc-3.1.3 ./configure --host=arm-hisiv400-linux --prefix=/usr/local/rsync make && make install
然后會在/usr/local/rsync中生成一個rsync的可執行程序。
將這個rsync可執行程序放在開發板上就行了。
2.移植openssh-server
http://blog.sina.com.cn/s/blog_5587f9270101cy90.html
https://blog.csdn.net/david_xtd/article/details/11734225
移植openssh-server需要分別移植openssh、openssl、zlib
2.1下載地址
openssh http://www.openssh.com/portable.html openssl http://www.openssl.org/source zlib http://www.zlib.net/
2.2 編譯安裝zlib
#進入到zlib的目錄 #./configure --prefix=/home/3520/software/openssh-server/package
修改Makefile
CC=arm-hisiv400-linux-gcc
AR=arm-hisiv400-linux-ar
CPP =arm-hisiv400-linux-gcc -E
LDSHARED=arm-hisiv400-linux-gcc
make
make install
2.3 編譯安裝openssl
首先看一下openssl中的INSTALL,里面有詳細的安裝步驟,別看着網上的內容就一頓操作猛如虎,然后發現不太對。因為我就是這樣的,要學會看INSTALL和README。
#./config no-asm --prefix=/home/3520/software/openssh-server/package --cross-compile-prefix=arm-hisiv400-linux-
no-asm 在交叉編譯過程中不使用匯編代碼代碼加速編譯過程。
no-shared 生成靜態鏈接庫。
--prefix 指定生成lib include bin目錄的路徑,不修改此項則默認為OPENSSLDIR目錄。
-cross-compile-prefix指定編譯器
#make
#make install
報錯:
如果編譯報錯,並提示"m64"字樣報錯信息,多半是交叉編譯器不支持m64選項。解決辦法:
修改Makefile ,若有-m32或-m64 字段,直接刪除即可
2.4 編譯安裝openssh
先開一下INSTALL文檔。
#./configure --host=arm-hisiv400-linux --with-libs --with-zlib=/home/3520/software/openssh-server/package
--with-ssl-dir=/home/3520/software/openssh=server/package --disable-etc-default-login CC=arm-hisiv400-linux-gcc AR=arm-hisiv400-linux-ar
#make
這里不需要安裝,因為我們是需要部署到開發板上面。
運行到這一步,就可以在openssh文件夾中找到移植需要的“scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan”文件。
生成key文件:
進入openssh目錄:cd openssh-5.6p1 生成ssh_host_rsa_key文件:ssh-keygen -t rsa -f ssh_host_rsa_key -N “” 生成ssh_host_dsa_key文件:ssh-keygen -t dsa -f ssh_host_dsa_key -N “” 生成ssh_host_ecdsa_key文件:ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N “” 生成ssh_host_ed25519_key文件:ssh-keygen -t dsa -f ssh_host_ed25519_key -N “”
3.在板卡上部署
在開發板上新建“/usr/libexec“,“/usr/local/etc ”,“/usr/local/bin ”三個目錄:mkdir -p /usr/libexec /usr/local/etc /usr/local/bin
將openssh生成的“scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan”文件拷貝到開發板中的 /usr/local/bin中
將openssh目錄下的“ssh_host_rsa_key,ssh_host_dsa_key,ssh_host_ecdsa_key,ssh_host_ed25519_key,moduli,ssh_config,sshd_config”拷貝到開發板的“/usr/local/etc”目錄
將“ssh_host_rsa_key,ssh_host_dsa_key,ssh_host_ecdsa_key,ssh_host_ed25519_key”權限改為600(不改權限后面運行不了)
將“sftp-server、ssh-keysign”拷貝到開發的“/usr/libexec”目錄
因為板卡Flash的空間不足,因此不能進行移植。靠