移植路线
SSH概述
当前开发ARM嵌入式内核芯片方式有很多种较为基础的可能是使用串口终端进行连接使用Xmodem协议上传文件,这种方式虽然简单便捷,但同时也是最容易丢包,或由于USB数据线连接不良导致乱码要时长重启串口终端,有时在win10系统中接收USB数据过多或错乱会时常导致Windows10系统蓝屏,故此时我们需要通过局域网对芯片进行开发。
一、依赖下载
1、下载ssh :
1、创建目录
mkdir /arm_ssh /arm_ssh/package /arm_ssh/source /arm_ssh/install /arm_ssh/lib
2、将下载好的压缩包传入虚拟机/arm_ssh/package目录下
3、解压到source文件夹
tar zxvf /arm_ssh/package/openssh-5.6p1.tar.gz -C /arm_ssh/source
4、查看文件INSTALL分析依赖需求
cd arm_ssh/source/openssh-5.6p1/
cat INSTALL
可以看到开头如下:
2、下载zlib:
3、下载ssl :
二、编译依赖
0、解压所有安装包
tar zxvf /arm_ssh/package/openssl-0.9.8d.tar.gz -C /arm_ssh/source
tar zxvf /arm_ssh/package/zlib-1.2.3.tar.gz -C /arm_ssh/source
1、zlib编译
cd /arm_ssh/source/zlib-1.2.3/
#配置相关编译后生成路径
./configure -prefix=/arm_ssh/lib/zlib-1.2.3
修改Makefile :
CC=gcc 改为: CC=arm-linux-gcc
LDSHARED= gcc 改为: LDSHARED=arm-linux-gcc
CPP= gcc - E 改为:CPP=arm-linux-gcc - E
AR= ar rc 改为:AR=arm-linux-ar rc
开始编译:
make
make install
2、openSSL编译
cd /arm_ssh/source/openssl-0.9.8d/
# 配置Makefile生成
./configure –prefix=/arm_ssh/install/openssl os/compiler:arm-linux-gcc
若出现报错可以尝试修改Makefile文件中的
‘arm-linux-gcc’
可能 “ ‘’ ”使用了中文切换为'arm-linux-gcc'就可以了
make
make install
2、openSSH编译
配置SSH安装
./configure –host=arm-linux –with-libs –with-zlib=/arm_ssh/install/zlib –with-ssl-dir=/arm_ssh/install/openssl –disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar
编译
make
三、上传运行
1、创建秘钥
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
2、在开发板上查看(若以下目录不存在则创建目录)
/usr/local/bin
/usr/local/etc
/usr/libexec
/var/run
/var/empty/sshd
按照以下目录结构复制到开发板中
以下目录中的文件可以在/arm_ssh/source/openssh–5.6p1/目录下找到
文件目录
四、报错解决
注意:
1、SSl与SSH在Windows10内置Ubuntu下编译不成功,导致上传出现错误
2、在使用SSH是要输入绝对路径不可使用./sshd运行否则会报错要输入/usr/local/etc/sshd运行
3、要让开发板自动获取IP输入命令udhcpd,记得获取前修改/etc/profile中的固定IP
4、在运行sshd时会显示某文件找不到可以到arm-linux-gcc目录下面寻找相应的.so.1的库文件。