先写用于DNS的bind。

一、 移植环境

1 、硬件环境:

Host : X86 PC

Target : MPC8377E 开发板

2 、软件环境:

Host : Red Hat 4.1.2-12 , Linux kernel 2.6.29.1

Target : Linux kernel 2.6.25

3 、源码包:

openssl-0.9.8k.tar.gz

libxml2-sources-2.7.3.tar.gz

bind-9.6.1.tar.gz

4 、编译工具:

powerpc-linux-gnu-gcc

二、 移植步骤

实现 DNS 功能的软件 BIND 有两个依赖库,分别为: openssl 与 libxml2 ,所以我们首先需要准备好这两个库。

、交叉编译 openssl

a )创建工作目录

假设我的工作目录为 /root/Aaron ,

# cd /root/Aaron

# mkdir openssl-0.9.8k

# cd openssl-0.9.8k

# mkdir compressed install source

其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。

b )获取源码包

从 http://www.openssl.org/ 上获取 openssl 的最新稳定版本,目前为 0.9.8k 。

将源码包拷贝到 compressed 目录下,

# cp openssl-0.9.8k.tar.gz /root/Aaron/openssl-0.9.8k/compressed

c )解压源码包

# cd /root/Aaron/openssl-0.9.8k/compressed

# tar –zxvf openssl-0.9.8k.tar.gz –C ../source

d )生产 Makefile 文件

# cd ../source/openssl-0.9.8k

# ./Configure –prefix=/root/Aaron/openssl-0.9.8k/install os/compiler:powerpc-linux-gnu-gcc

e )编译并安装

# make

# make install

、交叉编译 libxml2

a )创建工作目录

假设我的工作目录为 /root/Aaron ,

# cd /root/Aaron

# mkdir libxml2-2.7.3

# cd libxml2-2.7.3

# mkdir compressed install source

其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。

b )获取源码包

从 http://xmlsoft.org/ 上获取 libxml2 的最新稳定版本,目前为 2.7.3 。

将源码包拷贝到 compressed 目录下,

# cp libxml2-sources-2.7.3.tar.gz /root/Aaron/ libxml2-2.7.3/compressed

c )解压源码包

# cd /root/Aaron/ libxml2-2.7.3/compressed

# tar –zxvf libxml2-sources-2.7.3.tar.gz –C ../source

d )生产 Makefile 文件

# cd ../source/ libxml2-2.7.3

# CC=powerpc-linux-gnu-gcc ./configure –prefix=/root/Aaron/ libxml2-2.7.3/install –host=powerpc-linux-gnu

e )编译并安装

# make

# make install

、交叉编译 bind

a )创建工作目录

假设我的工作目录为 /root/Aaron ,

# cd /root/Aaron

# mkdir bind-9.6.1

# cd bind-9.6.1

# mkdir compressed install source

其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。

b )获取源码包

从 https://www.isc.org/ 上获取 bind 的最新稳定版本,目前为 9.6.1 。

将源码包拷贝到 compressed 目录下,

# cp bind-9.6.1.tar.gz /root/Aaron/ bind-9.6.1/compressed

c )解压源码包

# cd /root/Aaron/ bind-9.6.1/compressed

# tar –zxvf bind-9.6.1.tar.gz –C ../source

d )生产 Makefile 文件

# cd ../source/ bind-9.6.1

# CC=powerpc-linux-gnu-gcc   LDFLAGS=-static BUILD_CC=gcc ./configure –host=powerpc-linux-gnu –with-openssl=/root/Aaron/openssl-0.9.8k/install –enable-epoll=no –with-randomdev= --disable-linux-caps –with-libxml2=/root/Aaron/libxml2-2.7.3/install

e )编译并安装

# make

# make install

f )移植

将 /usr/local/sbin 、 /usr/local/bin 、 /usr/local/include 、 /usr/local/lib 、 /usr/local/share/man 下新生成的与 bind 有关的文件拷贝到目标机的相同目录下。

这样,移植工作就基本完成了,接下来就是配置了。这方面网上的文章很多,有空的话我也另开一篇写写。

最新文章

  1. spark streaming 接收 kafka 数据java代码WordCount示例
  2. shell example02
  3. FragmentTabHost+ViewPager实现底部按钮
  4. C#winform中使用控件的Dock属性进行布局
  5. 【同行说技术】Python程序员小白变大神必读资料汇总( 三)
  6. HTML & CSS 小总结
  7. 基于MFC的Opengl实现动画
  8. iOS开发:在Xcode中用Pods管理第三方库
  9. UVa 1025 (动态规划) A Spy in the Metro
  10. PLINQ 简介
  11. Python入门-----介绍
  12. visual studio 2013使用github获取代码
  13. 查看和设置MySQL数据库字符集(转)
  14. oracle根据某个字段的值进行排序
  15. centos7搭建时间服务器
  16. hdu-5687(字典树)
  17. Sprng4之JDBC--很原始的使用方法
  18. tchart5
  19. Composer 的autoload 实现
  20. Centos7-kafka-2.12安装验证

热门文章

  1. 转--Android中自定义字体的实现方法
  2. Enumerator yielder.yield 与 Proc.yield 区别
  3. ASP.NET优化
  4. [Other] 自定义MIME类型支持FLV的相关设置
  5. shell 统计 awk
  6. Entity Framework6 访问MySQL
  7. Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)
  8. 如何让 Drupal 使用 Wordpress 形式的编辑代码?
  9. VIM安装 NERDTREE,SOLARIZED 插件
  10. 用Ultra ISO制作启动U盘装系统