移植openssh到nuc951 evb板
移植openssh到nuc951 evb板
一 应用环境:
硬件:nuc951evb
软件:linux2.6.35 bsp
二 交叉编译openssl openssh
1.下载
openssl-1.0.1e.tar.gz:
地址: http://www.openssl.org/source/
openssh-4.6p1.tar.tar
http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/
2.交叉编译openssl
解压
#tar zxvf openssl-1.0.1e.tar.gz
#cd openssl-1.0.1e
配置
#./Configure --prefix=/extend/cjli/openssh/openssl os/compiler:arm-linux-gcc
编译安装
#make
#make install
3.交叉编译openssh
解压
#tar zxvf openssh-4.6p1.tar.tar
#cd openssh-4.6p1
配置
./configure \
--host=arm-linux \
--with-libs \
--with-ssl-dir=/extend/cjli/openssh/openssl \
--disable-etc-default-login \
--disable-strip \
CC=arm-linux-gcc \
AR=arm-linux-ar
编译安装
#make
出现错误
tend/cjli/applications/openssh/openssh-4.6p1/openbsd-compat/port-tun.c:215: undefined reference to `bcopy'
用memcpy替换bcopy
打开port-tun.c,在文件中增加如下定义:
#define bcopy(s,d,n) memcpy((d),(s),(n))
再次编译
#make
编译成功
四 安装openssh到目标板文件系统
1.将sshd 复制到目标板文件系统的usr/ sbin目录
2.复制相关程序文件
copy scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan到目标板的usr/local/bin目录下;
copy sftp-server ssh-keysign 到目标板usr/local/libexec下;
3.复制配置文件
将sshd_config,ssh_config复制到目标板usr/local/etc下
4.在目标上建立sshd需要的目录
#mkdir –p var/run
#mkdir –p var/empty/sshd
#chmod 755 var/empty
5. 在主机上制作公钥和私钥
ssh-keygen -t rsa1 -f ssh_host_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
将生成的6个文件复制到目标板usr/local/etc目录下
6.添加用户
有两种方法可以采用:
A 将主机上 /etc/目下的 passwd, shadow, group 三个文件copy到目标板的 /etc目录下, 同时记得将passwd的最后 /bin/bash 该为 /bin/sh。
删除不需要的一些用户
或者
B在目标板的passwd中添加sshd用户:
sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin
在shadow中也添加对应的项就行了:
sshd:!:14069:0:99999:7:::
五 运行
1.将制作好的文件系统下载到开发板,启动系统
2.在目标板上运行sshd
#/usr/sbin/sshd
3.主机连接目标板
$ssh -v root@10.130.249.120
六 运行问题及解决办法
1.运行sshd错误
/var/empty must be owned by root and not group or world-writable.
解决
#chown -R root:root /var/empty
2. 连接时可以通过密码验证,但无法进入终端
出现如下错误
PTY allocation request failed on channel 0
解决办法:
修改rcS文件增加如下两行:
/bin/mkdir /dev/pts
/bin/mount -t devpts devpts /dev/pts
重新启动开发板
参考文档:
http://blog.csdn.net/songbohr/article/details/5540025
移植openssh到nuc951 evb板的更多相关文章
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...
- live555 交叉编译移植到海思开发板
本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...
- 移植Mplayer到OK6410开发板
移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...
- 移植BOA服务器到开发板
移植BOA 服务器到GEC210 开发板 开发平台主机:VMWare--Ubuntu 10.04 LTS开发板:GEC210 / linux-2.6.35.7编译器:arm-linux-gcc-4.5 ...
- 移植openssh到arm linux
一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...
- u-boot 移植 --->4、Tiny210核心板的DDR初始化下详解
RAM的原理简单学习 DDR是RAM的一种,RAM常见的类型有SRAM,SDRAM,DDR他们的共同特点是,随机存储意味着读写速度快,掉电后数据丢失,所以常用来存储程序中的变量. SRAM 静态随机存 ...
- Linux移植到自己的开发板(二)UBOOT和Linux
@ 目录 一.uboot跳转到Linux 二. Linux内核启动之解压阶段 三. Linux内核启动之汇编阶段 插曲:关于Kconfig和Makefile 四. Linux内核启动之C语言阶段 五. ...
- (原创)AP6212移植到AM335X自主开发板上
转载请指明出处. 参考<关于AM335X移植SDIO WIFI的简易教程> http://www.deyisupport.com/question_answer/dsp_arm/sitar ...
- Linux移植到自己的开发板(三)根文件系统
@ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...
随机推荐
- Android 判断当前设备是手机还是平板
Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板.网上很多说通过设备尺寸.DPI.版本号.是否具备电话功能等进行判断,不过都不算太精确.这里分享一个简洁给力的方法(官方 ...
- 你以为PHP那么好自定义升级?
X,PHP如果只是安装操作系统之后,YUM INSTALL之后就可以使用最好啦. 但如果YUM安装的官方PHP版本太低怎么办? 据我所知,现在也只是到PHP5.3.3版本,如果APP应用需要PHP5. ...
- Facebook 开源 AI 所使用的硬件平台 'Big Sur'
Facebook 开源 AI 所使用的硬件平台 'Big Sur' Facebook 今开源其 AI 所使用的硬件平台 'Big Sur'.'Big Sur' 是兼容开放机架的 GPU 加速硬件平台. ...
- HTML5 datalist实现suggest功能
1.例子 <!DOCTYPE html> <html> <head> <title>HTML5 datalist tag</title> & ...
- 01背包之求第K优解——Bone Collector II
http://acm.hdu.edu.cn/showproblem.php?pid=2639 题目大意是,往背包里赛骨头,求第K优解,在普通01背包的基础上,增加一维空间,那么F[i,v,k]可以理解 ...
- [Design Pattern] Flywight Pattern 简单案例
Flywight Pattern, 即享元模式,用于减少对象的创建,降低内存的占用,属于结构类的设计模式.根据名字,我也将其会理解为 轻量模式. 下面是享元模式的一个简单案例. 享元模式,主要是重用已 ...
- centos 6.2 关闭 IPV6
在现在的Linux上IPv6已经在默认安装下被支持,但是对于一些对IPv6支持不是很好的应用服务器来说,开启了IPv6反而会影响服务器的网络性能,毕竟现在的网络交换设备不是IPv6的. 如何判断系统是 ...
- 转: LRU缓存介绍与实现 (Java)
引子: 我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本, ...
- 2份能用的log4j.xml
1 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration ...
- EMV/PBOC解析(三) TLV格式解析(C#)
1.什么是TLV格式? TLV即Tag-Length-Value,常在IC卡与POS终端设备中通过这样的一个应用通信协议进行数据交换. 金融系统中的TLV是BER-TLV编码的一个特例编码规范,而BE ...