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. Android项目文件夹结构分析

    项目结构例如以下图所看到的,使用不同sdk版本号建立的项目项目结构有所不同,整体同样,高版本号添加了一些包结构 1.src 和java项目一样src存放项目源码 2.gen 自己主动生成,当中R.ja ...

  2. redux 个人整理

    序 本人工作之余的闲暇时间还是很充裕的.在完成经理安排的任务后,基本上都是在自学,主要是阅读各种技术文档.浏览博客.运行别人写的一些前端demo并观赏与赞叹.在ScorpionJay 同学的带领下,我 ...

  3. java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener

    一:如果出现下面的错误信息,如果你的项目是Maven结构的,那么一般都是你的项目的Maven Dependencies没有添加到项目的编译路径下: 信息: The APR based Apache T ...

  4. MSI failed, 不能卸载VMware

    解决方法; http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&ext ...

  5. java操作mongodb时,对象bean和DBObject相互转换的方法

    package com.iqbon.spider.util; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...

  6. jdbc连接遭遇RAC设备

    今天进行junit的Case回归测试,功能测试人员告知数据库ip进行了变更,于是 将jdbc连接的url进行了相应的变更如下 jdbcConnection = java.sql.DriverManag ...

  7. 如何中断正在执行IO的 Quartz 作业

    Interrupt a Quartz job that doing IO 如果你想中断正在执行IO的 Quartz 作业,在你使用 InterruptibleChannel 时这是可行的.引用一下Or ...

  8. opencv2.4中SVD分解的几种调用方法

    原帖地址: http://blog.sina.com.cn/s/blog_6109b5d00101ag7a.html       在摄影测量和计算机视觉中,考虑最优解问题时,经常要用到SVD分解.奇异 ...

  9. UVA 400 (13.08.05)

     Unix ls  The computer company you work for is introducing a brand new computer line and is developi ...

  10. 倒计时 总结 Timer Handler CountDownTimer RxJava MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...