先写用于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. Android屏幕适配建议

    一.关于布局适配 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如 ...

  2. HTML5 - 使用<video>播放视频

    ,下面是一个播放视频的最简单样例 (controls属性告诉浏览器要有基本播放控件) <video src="hangge.mp4" controls></vid ...

  3. android之蓝牙设备的使用01

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. cocoaPods 去警告

    pod 'ReactiveCocoa', '~> 2.1', :inhibit_warnings => true

  5. 中文unicode范围及unicode编解码

    中文unicode范围 : [\u4e00-\u9fa5] 普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码:unicodestring = u"Hello ...

  6. 关于lib,dll,.a,.so,静态库和动态库的解释说明

    [转]关于lib,dll,.a,.so,静态库和动态库的解释说明 目录 1 什么叫程序库 2 什么是lib,什么是dll,什么是.a,什么是so,什么是静态库,什么是动态库 3 补充说明 4 作者 什 ...

  7. Replace JSON.NET with Jil JSON serializer in ASP.NET Web API

    I have recently come across a comparison of fast JSON serializers in .NET, which shows that Jil JSON ...

  8. oninput 属性

    在HTML5中,新增加了oninput属性,它和onchange 的不同就是立刻发生,而onchange 是在失去焦点的时候才发生 <script> function rangeChang ...

  9. substring与substr

    一.substring package Test; public class SubstringTest { public static void main(String[] args) { Stri ...

  10. [ASP.NET]动态绑定树控件:

    public void BindTree(TreeView tview, TreeNode tn_main, string parentId,string sql) { TreeNode tn=nul ...