zoukankan      html  css  js  c++  java
  • 为基于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目录下。

        

    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远程登录即可(用已有的账号密码)。

     

  • 相关阅读:
    【数据库】Navicat Premium12远程连接MySQL数据库
    【Linux】一步一步学Linux——Centos7.5安装图解(08)
    【Tools】VMware虚拟机三种网络模式详解和操作
    【Linux】一步一步学Linux——VMware虚拟机三种网络模式详解(07)
    【Linux】一步一步学Linux——VMware Workstation 15 Pro安装图解教程(06)
    微信公众平台开发(25) 数据库操作
    微信公众平台开发(24) 自定义菜单功能开发
    微信公众平台开发(23) 聊天机器人功能开发
    微信公众平台开发(22) 翻译功能开发
    微信公众平台开发(21) 天气预报功能开发
  • 原文地址:https://www.cnblogs.com/liangwode/p/5807900.html
Copyright © 2011-2022 走看看