CubieBoard博客-HomeCubieTech公司网站

cubie.cc CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 12292|回复: 10

ubuntu交叉编译cubieboard arm可用的openssh-server

[复制链接]

4

主题

0

好友

111

积分

注册会员

Rank: 2

贡献
14
金钱
64
威望
14
买家信用
卖家信用
积分
111
发表于 2012-12-20 17:26:47 |显示全部楼层
主机 ubuntu 12.10cubieboard sdcard安装linaro ubuntu12.04

在主机安装交叉编译环境,12.04用的是gcc4.6
apt-get build-essential gcc-4.6-arm-linux-gnueabihf

以下操作在主机上
wget http://jaist.dl.sourceforge.net/ ... /zlib-1.2.7.tar.bz2
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
wget http://mirror.yongbok.net/OpenBS ... penssh-6.1p1.tar.gz

1.交叉编译zlib
tar xf zlib-1.2.7.tar.bz2
cd zlib-1.2.7

修改zlib的Makefile如下:
CC=arm-linux-gnueabihf-gcc-4.6
LDSHARED=arm-linux-gnueabihf-gcc-4.6 -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=arm-linux-gnueabihf-gcc-4.6 -E
AR=arm-linux-gnueabihf-ar

./configure --prefix=/data/source/arm/openssh/install/zlib-1.2.7/usr
make && make install

2.交叉编译openssl
tar xf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./Configure --prefix=/data/source/arm/openssh/install/openssl-1.0.1c/usr  os/compiler:arm-linux-gnueabihf-gcc-4.6
make && make install

3.交叉编译openssh
tar xf openssh-6.1p1.tar.gz
cd openssh-6.1p1

./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/data/source/arm/openssh/install/zlib-1.2.7 --with-ssl-dir=/data/source/arm/openssh/install/openssl-1.0.1c --disable-etc-default-login CC=arm-linux-gnueabihf-gcc-4.6 AR=arm-linux-gnueabihf-ar --prefix=/data/source/arm/openssh/install/openssh-6.1p1

修改Makefile,将下行注释掉,不然会报错strip: Unable to recognise the format of the input file
#STRIP_OPT=-s

make && make install

4.将生成的二进制文件拷贝到sdcard上对应的目录
cp -r /data/source/arm/openssh/install/openssh-6.1p1/* /media/sdcard/
cp -r /data/source/arm/openssh/install/zlib-1.2.7/* /media/sdcard/
cp -r /data/source/arm/openssh/install/openssl-1.0.1c/* /media/sdcard/




以下在sdcard上操作
cd /media/sdcard/usr/sbin


1.ln -s ../../sbin/sshd sshd


2.修改/etc/rc.local,添加系统自启动运行生成key
/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""

/usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""


3.将主机上的如下文件复制到sdcard上相应目录
cp /etc/init.d/ssh /media/sdcard/etc/
cp /etc/default/ssh /media/sdcard/etc/
cp /etc/init/ssh.conf /media/sdcard/etc/
cp /etc/network/if-up.d/openssh-server /media/sdcard/etc/


4.修改以上文件内容,将/usr/sbin替换成/sbin
5.添加ssh用户,分别编译如下文件
/media/sdcard/etc/passwd
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin

/media/sdcard/etc/shadow
sshd:*:15659:0:99999:7:::

/media/sdcard/etc/group
ssh:x:112:



以上编译和安装完成

将sdcard插到cubieboard上,加电启动即可


回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

贡献
0
金钱
17
威望
0
买家信用
卖家信用
积分
20
发表于 2012-12-22 15:13:29 |显示全部楼层
多谢分享
cubieboard QQ群 219271510
回复

使用道具 举报

56

主题

8

好友

5946

积分

一般会员

贡献
1089
金钱
2116
威望
1090
买家信用
卖家信用
积分
5946
发表于 2012-12-30 00:41:11 |显示全部楼层
膜拜一下,哈哈
回复

使用道具 举报

8

主题

0

好友

1705

积分

金牌会员

Rank: 6Rank: 6

贡献
316
金钱
681
威望
316
买家信用
卖家信用
积分
1705
发表于 2013-3-9 15:31:36 |显示全部楼层
安装时遇到问题咋办,下面是最后一部分的日志
  1. /linux-armhf/usr/etc/ssh_config already exists, install will not overwrite
  2. /linux-armhf/usr/etc/sshd_config already exists, install will not overwrite
  3. /linux-armhf/usr/etc/moduli already exists, install will not overwrite
  4. /lib/ld-linux-armhf.so.3: No such file or directory
  5. /lib/ld-linux-armhf.so.3: No such file or directory
  6. /lib/ld-linux-armhf.so.3: No such file or directory
  7. /lib/ld-linux-armhf.so.3: No such file or directory
  8. make: *** [host-key] 错误 255
复制代码
我去查看过Makefile,后面似乎是产生key文件,看起来是不要紧的,不过仍然希望把这个问题解决了
另外,toolchain是直接下载linaro的gcc 4.7
回复

使用道具 举报

0

主题

0

好友

353

积分

中级会员

Rank: 3Rank: 3

贡献
72
金钱
130
威望
72
买家信用
卖家信用
积分
353
发表于 2013-5-31 15:51:12 |显示全部楼层
在cb 上直接 sudo spt-get install openssh-server 不就行了吗,为什么还要交叉编译?
回复

使用道具 举报

14

主题

0

好友

1975

积分

金牌会员

Rank: 6Rank: 6

贡献
377
金钱
723
威望
377
买家信用
卖家信用
积分
1975
发表于 2013-8-6 23:14:32 |显示全部楼层
sudo spt-get install ssh

不过,楼主提供了一个很好的交叉编译方式
回复

使用道具 举报

0

主题

0

好友

198

积分

注册会员

Rank: 2

贡献
44
金钱
62
威望
44
买家信用
卖家信用
积分
198
发表于 2013-9-16 20:57:57 |显示全部楼层
感觉楼主, 正在找如何  构建交叉工具链的方法.
回复

使用道具 举报

2

主题

0

好友

398

积分

中级会员

Rank: 3Rank: 3

贡献
84
金钱
99
威望
84
买家信用
卖家信用
积分
398
发表于 2013-9-29 23:07:23 |显示全部楼层
sunke_A7 发表于 2013-9-16 20:57
感觉楼主, 正在找如何  构建交叉工具链的方法.

可以看看 clfs 的 arm 版本。

cb2是linux系统的话,建议cb2本地编译。
编译过程可能慢点,费点时间,但可以省去很多补丁工作。相对来说更省时间。
如果你交叉编译过一些特别的软件包,会明白的。

执意交叉编译,准备好工具链后,可以考虑下 scratchbox2,模拟本地编译,可以配合cb2使用的。
回复

使用道具 举报

8

主题

1

好友

2093

积分

金牌会员

天涯浪人

Rank: 6Rank: 6

贡献
400
金钱
840
威望
400
买家信用
卖家信用
积分
2093
发表于 2015-3-20 16:06:53 |显示全部楼层
openssh时交叉编译出错:
checking OpenSSL header version... not found
configure: error: OpenSSL version header not found.

回复

使用道具 举报

2

主题

0

好友

654

积分

高级会员

钻石

Rank: 4

贡献
130
金钱
233
威望
130
买家信用
卖家信用
积分
654
发表于 2015-3-31 13:19:43 |显示全部楼层
怎么收藏帖子??
你年纪轻轻 心地善良 你怕什么没人爱
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|邮件群发|cubie.cc---深刻的嵌入式技术和应用讨论中文社区 ( 粤ICP备13051116号-1  

GMT+8, 2020-4-8 19:00 , Processed in 0.027298 second(s), 7 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部