CubieBoard中文论坛

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

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

[复制链接]
发表于 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上,加电启动即可


回复

使用道具 举报

发表于 2012-12-22 15:13:29 | 显示全部楼层
多谢分享
回复 支持 反对

使用道具 举报

发表于 2012-12-30 00:41:11 | 显示全部楼层
膜拜一下,哈哈
回复 支持 反对

使用道具 举报

发表于 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
回复 支持 反对

使用道具 举报

发表于 2013-5-31 15:51:12 | 显示全部楼层
在cb 上直接 sudo spt-get install openssh-server 不就行了吗,为什么还要交叉编译?
回复 支持 反对

使用道具 举报

发表于 2013-8-6 23:14:32 | 显示全部楼层
sudo spt-get install ssh

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

使用道具 举报

发表于 2013-9-16 20:57:57 | 显示全部楼层
感觉楼主, 正在找如何  构建交叉工具链的方法.
回复 支持 反对

使用道具 举报

发表于 2013-9-29 23:07:23 | 显示全部楼层
sunke_A7 发表于 2013-9-16 20:57
感觉楼主, 正在找如何  构建交叉工具链的方法.

可以看看 clfs 的 arm 版本。

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

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

使用道具 举报

发表于 2015-3-20 16:06:53 | 显示全部楼层
openssh时交叉编译出错:
checking OpenSSL header version... not found
configure: error: OpenSSL version header not found.

回复 支持 反对

使用道具 举报

发表于 2015-3-31 13:19:43 | 显示全部楼层
怎么收藏帖子??
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-4-19 12:59 , Processed in 0.027102 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部