openssl 移植到 arm

ARM 407浏览

移植openssl至arm平台  我用的2440 6410也差不多

最近翻了翻网上的资料发现移植openssl到arm的文章不少

这里总结了下移植过程。

首先就是拿到openssl了

http://www.openssl.org/source/openssl-0.9.8k.tar.gz

这个是我用的版本,目前没啥问题。

1.解压

# tar -zxvf  openssl-0.9.8k.tar.gz 

2.使用arm-linux-gcc编译openssl并指定在板子上的安装路径

# CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib ./config no-asm shared --prefix=/usr

这里使用了动态库,使用了交叉编译器编译openssl,arm编译器版本我用的是4.3.2,这里用了/usr目录,代表了arm的根文件系统的/usr目录,待会下面会提到为什么要这么做

 之后就是make

# make

make 完毕之后 即安装到我们开发板上的根文件系统上去了,注意是安装到开发板的根文件系统。

在查看install文档后我们发现有这么一句话

Package builders who want to configure the library for standard
     locations, but have the package installed somewhere else so that
     it can easily be packaged, can use

$ make INSTALL_PREFIX=/tmp/package-root install

大致意思就是可以将包安装到指定的目录里面,那样将会很方便打包,我们需要安装到开发板的根文件系统里,

举个例子,我的开发板根文件系统的路径是/home/arm/board/rootfs

安装的话可以这么来

# make INSTALL_PREFIX=/home/arm/board/rootfs install


结合prefix(第二步    --prefix=/usr )的信息,我们可以知道,我们交叉编译的openssl安装到我们

/home/arm/board/rootfs/usr 的目录里面,这种安装方式保持了prefix的相对路径

将移植完的根文件系统打包下载后,打开开发板的/usr/bin    /usr/lib 我们可以看到openssl的相关文件

linux操作系统会默认搜索/lib 和 /usr/lib 两个目录下的库,所以我们这么做可以保证系统可以找到我们的openssl库

测试的时候可以直接在开发板的命令行中端打入openssl,

# openssl

可以看到命令成功执行。

这里只是做个简单的移植总结,相关用法还请看官们去百度一下。