整个移植过程是比较简单的,而且我们没有做任何协议方面的了解,只是“配置”+“编译”就完成了整个工作,现在大家应该对移植开源软件有了基本的了解。本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux系统开发进阶\75_章节_移植ssh服务使用资料。
入门视频教程中,给 Windows 系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器,这样就可以通过ssh 在 Windows 和虚拟机 Ubuntu 之间传输文件。其实在开发板上也是可以移植和安装 ssh 服务器,这样就可以通过网络,在 Windows 和开发板之间传输文件。
我们要完成的目标是能够通过 ssh 在开发板在 Windows 和开发板之间传输文件,当然也是可以使用 ssh 控制台。
这个实验比前面的“串口文件传输工具”教程在工程(实用性)上是更加有用的,假如在
实际的产品中,运行的是根文件系统,没有界面,如果数据需要在开发板和 Windows 传输数据,对于普通用户来说,是一个很好的选择,操作起来比较简单,只需要登陆然后直接将文件拖来拖去即可。
这个实验的难度要比“串口文件传输工具”要大一点,ssh 服务器需要依赖其他的库文件,所以需要开发者先移植完成所有依赖的库文件,最后才能移植 ssh 服务器。
1 SSH 官网和下载地址
本小节的地址在作者没有代理的情况下,测试可用。
OpenssL 下载官网地址,如下所示。就是罗永浩捐过 100 万的那个开源组织。
https://www.openssl.org/source/
OpenssL 的 github 下载地址,如下所示。
https://github.com/openssl/openssl
ssh 开源组织官网地址,如下所示。
http://www.openssh.com/
HXng KXng(o 用 X 替代,以防文档上传之后被屏蔽)的 ssh 下载地址,测试可以用,
如下所示。
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
zlib 官网地址,如下所示。
http://www.zlib.net/
2 详细移植过程
源码使用迅为下载好的,编译器使用“arm-2009q3”。
作者是在 “/home/topeet/project/ssh-arm/”目录下,放三个需要移植的文件,移植文件的安装目录是“/home/topeet/project/ssh-arm/”目录下的“install”文件夹。install下新建两个文件夹“openssl-0.9.8h”和“zlib-1.2.3”,后面编译之后需要安装到这个目录下。
2.1 移植 Zlib
从迅为提供的资料中拷贝“zlib-1.2.3.tar.gz”到 Ubuntu 系统,使用命令“tar -vxf zlib-1.2.3.tar.gz”解压,得到“zlib-1.2.3”文件夹,使用命令“cd zlib-1.2.3”进入“zlib-1.2.3”文件夹,如图 2.1.1
接着使用命令“./configure --prefix=/home/topeet/project/ssh-arm/install/zlib-1.2.3”,设置配置文件,如图 2.1.2所示。