個人感覺嵌入式中是不需要dropbear的,因為busybox中沒有ssh,自己編譯麻煩,不如使用telnet(busybox內包含)方便。而要傳檔案的話使用busybox帶的ftpd即可。開發時為了方便可以安裝openssh,這樣控制端與檔案傳輸就都有了。
準備
zlib-1.2.3.tar.gz 點擊進入
dropbear-0.52.tar.gz 點擊進入
1.交叉編譯zlib-1.2.3.tar.gz
解壓zlib-1.2.3.tar.gz,建立/usr/local/zlib6410目錄;
./configure --prefix =/usr/local/zlib6410
修改Makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
這雷根據版本可能會有其他地方也要修改為自己所用的交叉編譯器
make;make install;
2.交叉編譯dropbear-0.52.tar.gz
解壓dropbear-0.52.tar.gz,建立/usr/local/dropbear6410;
./configure --prefix=/opt/local/dropbear --with-zlib=/usr/local/zlib6410/ CC=arm-linux-gcc --host=arm
make;
make scp;
make install;
cp scp /usr/local/dropbear/bin/ 沒有這裡的話scp功能就無法使用了
3.移植到arm:
將/bin/和/sbin/下的檔案都複製到板上/usr/sbin目錄。
在板上產生server key:
cd /etc
mkdir dropbear
cd dropbear
dropbearkey -t rsa -f dropbear_rsa_host_key
dropbearkey -t dss -f dropbear_dss_host_key
這樣的話應該就可以用ssh控制端串連了,不行的話/usr/sbin/dropbear啟動ssh。
不過openssh所帶的檔案傳送功能這裡是沒有的,openssh的檔案傳輸依賴其自身所包括的sftp,需要編譯openssh來實現了。