设备:Hi3515 Demo单板(海思的视频开发板)
Host:Ubuntu10.04
交叉编译环境:Hi3515_SDK_V1.0.8.0
1、先下载源文件
dropbear:https://matt.ucc.asn.au/dropbear/releases/dropbear-2013.56.tar.bz2
zlib-1.2.7:http://zlib.net/zlib-1.2.7.tar.gz
交叉编译环境自己配置,这个不具有统一性,每个设备的交叉编译环境都不同,固不叙述教程,我已经安好了Hi3515的开发环境。
2、解压文件:
将下载到的源码保存到一个文件夹下,我保存到了/root/Hi3515/EmbSSH目录下,这个目录可以随便定义,不是关键
[cpp] view plain copy
- mkdir source package //创建目录
-
- mkdir package/zlib //创建zlib目录
-
- mv zlib-1.2.7.tar.gz dropbear-2013.56.tar.bz2 ./source //将zlib移动到source文件夹
-
- cd source
-
- tar -zxvf dropbear-2013.56.tar.bz2 //解压
-
- tar -zxvf zlib-1.2.7.tar.gz
3、编译zlib
[cpp] view plain copy
- ./configure --prefix=/root/Hi3515/EmbSSH/package/zlib
4、修改Makefile
[cpp] view plain copy
- CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc
- AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar
- CPP =/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc -E
- LDSHARED=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc
注意:这里的CC AR CPP LDSARED这几个参数就是改成你的交叉编译环境中的编译器,最好是使用绝对路径,当然如果你的交叉编译环境已经加载到环境变量中,可以使用相对路径,但是还是推荐绝对路径,虽然写起来麻烦点,但是安全可靠。
5、编译,安装
[cpp] view plain copy
- make //编译
-
- make install //安装到你前面prefix指定的目录中
6、编译dropbear
回到source目录
[cpp] view plain copy
- cd dropbear-2013.56 //进到dropbear源码包中
-
- ./configure --with-zlib=/root/Hi3515/EmbSSH/package/zlib CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar --host=arm-linux //配置makefile
7、编译
[cpp] view plain copy
make scp
其中的scp需要单独编译,然后用把编译好的scp复制到build/bin目录下这样就可以通过scp把客户端的数据拷贝到服务器了
8、到这,编译工作就已经结束了。接下来将编译之后生成的文件文件移植到开发板中
将dropbear目录下面的dbclient,dropbear,dropbearconvert,dropbearkey四个文件复制到开发板的/bin目录下或者/sbin目录下
注意要修改权限才能执行
将package/zlib目录下的libz.so.1和libz.so.1.2.7复制到开发板的/lib目录下,这个库文件必须要拷贝,不然的话,程序不能运行
9、配置dropbear
这里要在开发板中进行配置,通过串口打开中终端
[cpp] view plain copy
- cd /etc
-
- mkdir dropbear
-
- cd dropbear
-
- dropbearkey -t rsa -f dropbear_rsa_host_key
-
- dropbearkey -t dss -f dropbear_dss_host_key
10.启动dropbear
[cpp] view plain copy
- dropbear -p 22 //监听22端口,通常ssh默认都是22端口
11.帮助
通过dropbear -h可以查看帮助选项
12.说明
安装dropbear的时候,生成了dbclient,dropbearkey和dropbearconvert
其中:
Dropbearkey是用来生成公钥的,
Dropbearconvert是用来与openssh转换的
Dbclient可以用来连接远程的服务器
Dbclient的用法,例如
#./dbclient username@192.168.99.214
ARM学习交流群:197416462 学习卡赠送:892829057 免费