一般的服务进程就是这3个
/usr/sbin/telnetd
/usr/bin/vsftpd
/usr/bin/dropbear
比如telnetd服务和ftp服务可以从busybox中复制过来
ssh服务可以使用dropbear服务相对openssh服务移植简单方便
昨天用了openSSH,做了个移植,无奈生成的文件太大,生成的二进制程序大概15M的样子,整个Flash都装不下所以不适合一般的嵌入式设备。
恰巧今天同事提到了dropbear,这个可是个好东西,大家可以百度一下,他是个轻量级的SSH服务器,非常适合安装到嵌入式设备中,我编译出来
总共才500多K,很满意。废话不说,上教程
设备: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目录下,这个目录可以随便定义,不是关键
3、编译zlib
4、修改Makefile
注意:这里的CC AR CPP LDSARED这几个参数就是改成你的交叉编译环境中的编译器,最好是使用绝对路径,当然如果你的交叉编译环境已经加载到环境变量中,可以使用相对路径,但是还是推荐绝对路径,虽然写起来麻烦点,但是安全可靠。
5、编译,安装
6、编译dropbear
回到source目录
7、编译
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
这里要在开发板中进行配置,通过串口打开中终端
11.帮助