开发环境
目标环境
- tiny6410开发板
- Linux 4.19.78
移植过程
zlib编译
./configure --prefix=$(pwd)/build
vim Makefile
修改命令,增加前缀arm-linux-gnueabi-
,如下:
CC=arm-linux-gnueabi-gcc
LDSHARED=arm-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
AR=arm-linux-gnueabi-ar
RANLIB=arm-linux-gnueabi-ranlib
进行编译,安装
make && make install
# 编译完成后,可以查看build目录下是否产生了相应的文件
tree build/
build/
├── include
│ ├── zconf.h
│ └── zlib.h
├── lib
│ ├── libz.a
│ ├── libz.so -> libz.so.1.2.11
│ ├── libz.so.1 -> libz.so.1.2.11
│ ├── libz.so.1.2.11
│ └── pkgconfig
│ └── zlib.pc
└── share
└── man
└── man3
└── zlib.3
6 directories, 8 files
dropbear编译
配置工程
cd dropbear-2019.78/
./configure --prefix=$(pwd)/build --with-zlib=/home/eric/linux-develop/zlib-1.2.11/build CC=arm-linux-gnueabi-gcc --host=arm
make && make install
# 查看build路径下是否产生了相关文件
tree build/
build/
├── bin
│ ├── dbclient
│ ├── dropbearconvert
│ └── dropbearkey
├── sbin
│ └── dropbear
└── share
└── man
├── man1
│ ├── dbclient.1
│ ├── dropbearconvert.1
│ └── dropbearkey.1
└── man8
└── dropbear.8
6 directories, 8 files
# 还缺少一个scp文件
make scp
cp scp build/bin/
开发板测试
将zlib生成的动态库文件拷贝到开发板文件系统的/lib
文件夹
ls zlib-1.2.11/build/lib/*so*
zlib-1.2.11/build/lib/libz.so zlib-1.2.11/build/lib/libz.so.1.2.11
zlib-1.2.11/build/lib/libz.so.1
将dropbear生成的可执行文件拷贝到开发板,其中bin目录下的拷贝到/usr/bin
中,sbin目录拷贝到/usr/sbin
中
在开发板/etc
目录下创建dropbear
目录,生成秘钥文件
cd /etc
mkdir dropbear
cd dropbear
dropbearkey -t rsa -f dropbear_rsa_host_key
dropbearkey -t dss -f dropbear_dss_host_key
接下来进行测试,首先启动dropbear
/usr/sbin/dropbear
# netstat -tnulp, 查看dropbear是否监听22端口,如下
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1168/dropbear
然后使用pc上的ssh工具连接到开发板,进行远程连接测试。