为基于busybox根文件系统的ARM嵌入式Linux交叉编译dropbear使能SSH


最近使用busybox为基于ARM的板卡定制了一个极简单的根文件系统,由于busybox仅支持telnet而不支持ssh,本文将详细描述如何交叉编译dropbear并将其移植到目标板卡上使能dropbear。

 

目标环境:

CPU:ARM

内核版本:4.X

工具下载:

    zlib-1.2.8

    dropbear-2016.74.tar.bz2

 

第一步:编译zlib-1.2.8

    下载zlib-1.2.8.tar.gz,笔者将其放在/home/liangwode/test目录下。

    

?
1
2
3
mkdir -pv build/zlib build/dropbear
tar xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8

  进入解压缩后的zlib目录,配置zlib

?
1
./configure --prefix=/home/liangwode/test/build/zlib

  修改生成的Makefile

?
1
2
3
4
5
6
CC=arm-linux-gnueabi-gcc(根据所使用的交叉工具链修改)
AR=arm-linux-gnueabi-ar
RANLIB=arm-linux-gnueabi-ranlib
LDCONFIG=arm-linux-gnueabi-ldconfig
LDSHARED=$(CC) -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=$(CC) -E

  编译并安装

?
1
make && make install

  在/home/liangwode/test/build/zlib下就生成了zlib库的相关文件

 

第二步:编译dropbear

  回到/home/liangwode/test,解压缩dropbear

?
1
2
bzip2 -d dropbear-2016.74.tar.bz2
tar xvf dropbear-2016.74.tar

  进入dropbear目录,配置dropbear

?
1
2
cd dropbear-2016.74
./configure --prefix=/home/liangwode/test/build/dropbear --with-zlib=/home/liangwode/test/build/zlib CC=arm-linux-gnueabi-gcc --host=arm

  编译并安装

 

?
1
2
3
make
make scp
make install

  拷贝scp到安装目录

?
1
cp scp /home/liangwode/test/build/dropbear/bin

  

第三步:移植到目标板

  先挂载目标板的根文件系统,笔者使用TF卡,分了两个区,一个是boot,一个是sysroot

?
1
mount /dev/sdc2 /mnt/sysroot

  拷贝库及可执行文件到目标系统

?
1
2
3
4
cp -frP /home/liangwode/test/build/zlib/lib/* /mnt/sysroot/usr/lib
cp -fP /home/liangwode/test/build/dropbear/bin/* /mnt/sysroot/usr/sbin
cp -fP /home/liangwode/test/build/dropbear/sbin/* /mnt/sysroot/usr/sbin
sync

  卸载SD卡,并启动目标板

?
1
umount /mnt/sysroot

  创建dropbear配置目录,并生成密钥

?
1
2
3
4
mkdir /etc/dropbear
cd /etc/dropbear
dropbearkey -t rsa -f dropbear_rsa_host_key
dropbearkey -t dss -f dropbear_dss_host_key

  添加系统启动服务

?
1
2
3
vi /etc/init.d/rcS
添加
/usr/sbin/dropbear

  

  重启目标板,用PC通过ssh远程登录即可(用已有的账号密码)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值