原创作品,允许转载,转载时请务必以超链接形式标明文章、作者信息和本声明,否则将追究法律责任。

  最近使用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目录下。

    

mkdir -pv build/zlib build/dropbear
tar xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8

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

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

  修改生成的Makefile

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

  编译并安装

make && make install

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

第二步:编译dropbear

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

bzip2 -d dropbear-2016.74.tar.bz2
tar xvf dropbear-2016.74.tar

  进入dropbear目录,配置dropbear

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

  编译并安装

 

make
make scp
make install

  拷贝scp到安装目录

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

  

第三步:移植到目标板

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

mount /dev/sdc2 /mnt/sysroot

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

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卡,并启动目标板

umount /mnt/sysroot

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

mkdir /etc/dropbear
cd /etc/dropbear
dropbearkey -t rsa -f dropbear_rsa_host_key
dropbearkey -t dss -f dropbear_dss_host_key

  添加系统启动服务

vi /etc/init.d/rcS
添加
/usr/sbin/dropbear

  

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

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

  1. 交叉编译VIM并移植到ARM嵌入式Linux系统

    原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任.   众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybo ...

  2. 调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之二

    /** ****************************************************************************** * @author    暴走的小 ...

  3. 调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之一

    /** ****************************************************************************** * @author    暴走的小 ...

  4. 调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之三

    /** ****************************************************************************** * @author    暴走的小 ...

  5. Holer实现外网访问ARM嵌入式Linux系统

    公网访问ARM嵌入式Linux系统 实验室里的ARM嵌入式Linux系统,只能在局域网内访问,怎样从公网也能访问内网ARM嵌入式Linux系统? 本文将介绍使用holer实现的具体步骤. 1. 准备工 ...

  6. 外网访问ARM嵌入式Linux系统

    外网访问ARM嵌入式Linux系统 实验室里的ARM嵌入式Linux系统,只能在局域网内访问,怎样从外网也能访问ARM嵌入式Linux系统? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并 ...

  7. busybox根文件系统使用记录

    1.DHCP功能配置 1.1.配置Linux内核使能DHCP相关选项: [*]Networking support --> Networking support Networking optio ...

  8. 交叉编译HTOP并移植到ARM嵌入式Linux系统

    原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组 ...

  9. 【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计

    这个教程描述了在嵌入式linux下使用Qt如何设置一个支持多点触摸和单点触摸的输入系统.这里假定你已经有了对应的驱动程序,驱动可以从触摸屏的厂商那里获得或者使用一个linux 内核源码中已经存在的驱动 ...

随机推荐

  1. 采坑笔记——mysql的order by和limit排序问题

    背景说明 今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫 select record.a, ...

  2. linux 开机自启动 Tomcat

    1.修改脚本文件rc.local:vim /etc/rc.d/rc.local 这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令 2.添加如下内容: exp ...

  3. dede后台添加优酷等视频iframe链接时被替换成了图片

     添加文章时 添加优酷视频 :<iframe height=498 width=510 src='http://player.youku.com/embed/XNDAzNTAzODE4OA==' ...

  4. 学习Pytbon第十八篇,异常处理

    什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Pyth ...

  5. 554. Brick Wall

    class Solution { public: int leastBricks(vector<vector<int>>& wall) { unordered_map& ...

  6. P1582倒水 位运算

    题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒 ...

  7. MySQL忘记密码怎么重置

    1打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后 ...

  8. 笔记-select,poll,epoll

    笔记-select,poll,epoll 1.      I/O多路复用 I/O多路复用是指:通过一种机制或一个进程,可以监视多个文件描述符,一旦描述符就绪(写或读),能够通知程序进行相应的读写操作. ...

  9. 2139: road

    把a[i], b[i]分开来排序 对应位置上的点连边 感性理解这是最小的 会连出若干个环 要使得若干个环连成大环 令a[i]向b[i - 1] 连边 易证一定能使图联通 感性理解这也是最小的 #inc ...

  10. android 事件传递机制

    有三个方法: dispatchTouchEvent onInterceptTouchEvent onTouchEvent 首先:A的dispatchTouchEvent-A的onInterceptTo ...