1. 交叉编译环境:

export ARCH=arm
export SUBARCH=arm
export PATH=/opt/FriendlyARM/toolschain/4.5./bin:$PATH
export CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5./bin/arm-linux-

2. 安装依赖环境:

sudo aptitude install zlib1g-dev libssl-dev

3. 编译 zlib for ARM: 版本[zlib-1.2.8.tar.gz]

./configure --prefix=/opt/FriendlyARM/zlib
make -j4 -e \
"CC=arm-linux-gcc" \
"AR=arm-linux-ar" \
"CPP=arm-linux-gcc -E" \
"LDSHARED=arm-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"
make install # 要求/opt目录的所有者为当前用户

4. 编译 openssl: 版本[openssl-1.0.1e.tar.gz]

unset CROSS_COMPILE #必须执行的命令!
./Configure --prefix=/opt/FriendlyARM/openssl os/compiler:arm-linux-gcc
make -j4
make install

5. 编译 openssh: openssh-6.3p1.tar.gz

./configure --prefix=/opt/FriendlyARM/openssh \
--host=arm-linux \
--with-zlib=/opt/FriendlyARM/zlib \
--with-ssl-dir=/opt/FriendlyARM/openssl \
CC=arm-linux-gcc
make -j4 # 不需要make install,安装不上的!!

 >>在PC打包ssh成为一个tar包:

#!/bin/sh -
tmpdir=tmp_arm
prefix=/opt/FriendlyARM/openssh
mkdir $tmpdir
mkdir -p $tmpdir/$prefix/etc
mkdir -p $tmpdir/$prefix/bin
mkdir -p $tmpdir/$prefix/etc
mkdir -p $tmpdir/$prefix/libexec
mkdir -p $tmpdir/$prefix/sbin
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 ""
cp ssh_host_*_key $tmpdir/$prefix/etc/
cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan $tmpdir/$prefix/bin/
cp moduli ssh_config sshd_config $tmpdir/$prefix/etc/
cp sftp-server ssh-keysign $tmpdir/$prefix/libexec/
cp sshd $tmpdir/$prefix/sbin/
cd $tmpdir
tar zcf ssh_arm.tgz /opt/FriendlyARM/openssl /opt/FriendlyARM/zlib *

 >>把tar包拷贝至ARM板后,安装过程:

#!/bin/sh -
# run on arm
tar zxf ssh_arm.tgz -C /
echo 'PATH=/opt/FriendlyARM/openssh/bin:/opt/FriendlyARM/openssh/sbin:$PATH' >> /etc/profile
echo 'sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin' >> /etc/passwd
source /etc/profile

 >> 效果展示:先在ARM板上执行 /opt/FriendlyARM/openssh/sbin/sshd

这表明已经成功通过ssh连接至ARM开发板了。

参考资料:

  1. http://blog.sina.com.cn/s/blog_7f2a9a390100xws4.html

〖Linux〗build ssh for Arm的更多相关文章

  1. 〖Linux〗build sqlite3 for Arm

    Version: sqlite-autoconf-3080100.tar.gz Download: https://www.sqlite.org/download.html 1. toolchains ...

  2. 〖Linux〗使用ssh登录远程主机,并在本地打开远程图形界面

    1. 修改/etc/ssh/sshd_config文件,设置允许TCP转发和X11转发 AllowTcpForwarding yes X11Forwarding yes 2. 登录无图形远程主机,并允 ...

  3. 〖Linux〗bash和expect执行ssh命令行sshcmd.exp

    #!/usr/bin/expect -f # sudo apt-get install expect # ./ssh.exp user passwd server set user [lrange $ ...

  4. 〖Linux〗Clang/Clang++ for Android Binary/NDK build(二进制可执行文件/NDK编译)

    #1. 下载并安装NDK(解压即可,目前最新版是r9c) http://developer.android.com/tools/sdk/ndk/index.html #2. 安装NDK独立编译工具 c ...

  5. 〖Linux〗Ubuntu中使用KVM安装虚拟机

    1. 安装软件: sudo apt-get install libvirt0 libvirt-bin libvirt-dev virt-manager qemu-system 2. 配置网桥: # i ...

  6. 〖Linux〗联想K860/i Android 4.2及以上的Bootimg解压与打包工具

    因为自己有需要,所以花了一点时间来写了一下. 1. 解压工具 #!/bin/bash - #====================================================== ...

  7. 〖Linux〗使用gsoap搭建web server(C++)

    1. gsoap的好处就不用说了:百度百科 2. gsoap的下载地址:项目地址,目前我使用的是2.8.15版本 3. 开发环境:Ubuntu13.10 4. 具体操作步骤(以简单相加为例): 1)编 ...

  8. 〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)

    开发环境:Ubuntu13.10 1. 添加源,并安装tinyos-2.11:sudo gedit  /etc/apt/sources.list #往里边添加deb http://tinyos.sta ...

  9. 〖Linux〗clang3.4的编译与安装

    1. 编译与安装clang3.4 sudo apt-get install -y g++ subversion cmake cd ~ mkdir Clang && cd Clang s ...

随机推荐

  1. 使用Lazy<T>实现对客户订单的延迟加载

    "延迟加载"是指在需要的时候再加载数据.比如获得一个Customer信息,并不会把该Customer的Orders信息一下加载出来,当需要显示Orders的时候再加载.简单来说,就 ...

  2. SpringBoot集成RabbitMQ并实现消息确认机制

    原文:https://blog.csdn.net/ctwy291314/article/details/80534604 RabbitMQ安装请参照RabbitMQ应用 不啰嗦直接上代码 目录结构如下 ...

  3. Python脚本报错AttributeError: 'module' object has no attribute 'maketrans'

    出现此错误的原因:是此文件smtp02.py 所在的目录下有string.pyc 的文件存在,与python库里的string.pyc冲突造成无法确认编译所取的类库.

  4. 【centOS】centos7 查看和关闭防火墙

    查看防火墙状态 firewall-cmd --state running代表防火墙正在运行 停止firewall systemctl stop firewalld.service 禁止firewall ...

  5. T4 生成实体和简单的CRUD操作

    <#@ template debug="false" hostspecific="false" language="C#" #> ...

  6. VirtualBox虚拟机内的系统时间无法调整的解决方法

    VirtualBox虚拟机内的系统时间无法调整的解决方法   因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了, ...

  7. 《JavaScript启示录》

    <JavaScript启示录> 基本信息 作者: (美)Cody Lindley 译者: 徐涛 出版社:人民邮电出版社 ISBN:9787115334947 上架时间:2014-2-21 ...

  8. Facebook 工程师是如何高效工作的?

    编者按:Facebook 的工程师有哪些高效工作的经验呢?软件工程师访谈了多位 Facebook 的高产工程师,总结了他们的共同经验以及晋级之路,供各位参考. 成为高效开发者这件事你可以通过经验.书本 ...

  9. 在Java Web程序中使用Hibernate

    在Java Web程序中使用Hibernate与普通Java程序一样.本文中将使用Servlet和JSP结合Hibernate实现数据库表的增删改查操作. Web程序中,hibernate.cfg.x ...

  10. ubuntu下mongodb常用命令

    1. 启动脚本 #!/bin/bash mongod --dbpath /usr/local/mongodb/data1 chmod +x run-mongodb 2. 关闭数据库服务 官方文档说可以 ...