先写用于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 有关的文件拷贝到目标机的相同目录下。

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

移植DNS服务bind的更多相关文章

  1. 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)

    环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...

  2. 【Linux】DNS服务-BIND基础配置(二)

    BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...

  3. 【Linux】DNS服务-BIND基础配置

    1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...

  4. (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.conf、/var/named)设置实现和解释

    2015年3月24更新 添加了要加的配置域名解析器(否则会找不到域名)     一.创建该实验的的模型   配置完gate虚拟机的两张网卡后,就启动gate的转发 [root@localhost ro ...

  5. 使用Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  6. dns 服务架构优化 - 百万级并发不是梦 - bind+namedmanager+dnsmasq

    bind: DNS服务端. namedmanager: DNS web管理页面. dnsmasq: 并发查询上游dns域名解析. 问题:作为消息推送业务,单台业务机器域名解析并发达到上万次.业务机器集 ...

  7. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  8. Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  9. DNS解析原理与Bind部署DNS服务

    DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...

随机推荐

  1. mapreduce执行流程

    角色描述:JobClient:执行任务的客户端JobTracker:任务调度器TaskTracker:任务跟踪器Task:具体的任务(Map OR Reduce) 从生命周期的角度来看,mapredu ...

  2. 在eclipse中下载包含子模块(Submodules)的git项目

    先将项目下载下来 , 这时由于是子项目的原因 , 下载的项目中不包含任何子项目 . 这时在eclipse的Git Repositories中 , 选中Submodules , 右键点击update即可 ...

  3. i++与++i 辨析

    i++:先赋值在自加: ++i:先自加在赋值: 备注:在赋值运算中有区别,单独使用没有区别 ( 例子1:单独使用 for(int i=0;i<10;i++){ } for(int i=0;i&l ...

  4. CRM报表打印

    删除路径下的文件 C:\Windows\Downloaded Program Files\rsclientprint.dll路径下的这个dll文件,重新登录crm选择一个面单点击打印按钮重新安装插件

  5. $.ajax()引发的对Deferred的总结

    传统的ajax写法: $.ajax({ url:"1.json", type:"get", success:function(data){}, error:fu ...

  6. 倍增法lca

    ][N],siz[N];//rt数组需要在dfs之前置-1. void dfs(int pos,int deep){ dep[pos]=deep; siz[pos]=; for(edge *it=ad ...

  7. 在Eclipse ee中成功使用jQuery UI插件

    关键代码截图如下:

  8. Android--创建对话框AlertDialog

    学习Android过程中发现showDialog().onCreateDialog()这些方法从Android4.0开始都过时了. 官方推荐使用DialogFragment类来创建对话框. 1)布局文 ...

  9. 项目管理: Maven 让事情变得简单

    http://maven.apache.org/,  Maven其实就是为java实现的一个构建工具.他比Ant更高端. 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗 ...

  10. sql 获取filename

    select Substring(ORIGINAL_IMAGE,len(ORIGINAL_IMAGE)-charindex('/',reverse(ORIGINAL_IMAGE))+2,len(ORI ...