移植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 ,所以我们首先需要准备好这两个库。
1 、交叉编译 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
2 、交叉编译 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
3 、交叉编译 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 有关的文件拷贝到目标机的相同目录下。
这样,移植工作就基本完成了,接下来就是配置了。这方面网上的文章很多,有空的话我也另开一篇写写。
最新文章
- spark streaming 接收 kafka 数据java代码WordCount示例
- shell example02
- FragmentTabHost+ViewPager实现底部按钮
- C#winform中使用控件的Dock属性进行布局
- 【同行说技术】Python程序员小白变大神必读资料汇总( 三)
- HTML &; CSS 小总结
- 基于MFC的Opengl实现动画
- iOS开发:在Xcode中用Pods管理第三方库
- UVa 1025 (动态规划) A Spy in the Metro
- PLINQ 简介
- Python入门-----介绍
- visual studio 2013使用github获取代码
- 查看和设置MySQL数据库字符集(转)
- oracle根据某个字段的值进行排序
- centos7搭建时间服务器
- hdu-5687(字典树)
- Sprng4之JDBC--很原始的使用方法
- tchart5
- Composer 的autoload 实现
- Centos7-kafka-2.12安装验证
热门文章
- 转--Android中自定义字体的实现方法
- Enumerator yielder.yield 与 Proc.yield 区别
- ASP.NET优化
- [Other] 自定义MIME类型支持FLV的相关设置
- shell 统计 awk
- Entity Framework6 访问MySQL
- Android JNI学习之javah命令的正确使用(找了好半天才找到的,汉,网上好多说法都没用)
- 如何让 Drupal 使用 Wordpress 形式的编辑代码?
- VIM安装 NERDTREE,SOLARIZED 插件
- 用Ultra ISO制作启动U盘装系统