个人感觉嵌入式中是不需要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来实现了。