移植DNS
一、移植环境
1、硬件环境:
Host(宿主机):X86 PC
Target(目标机):MPC8377E开发板
2、软件环境:
Host操作系统:Red Hat 4.1.212,Linux内核版本2.6.29.1
Target操作系统:Linux内核版本2.6.25
3、源码包:
openssl0.9.8k.tar.gz
libxml2sources2.7.3.tar.gz
bind9.6.1.tar.gz
4、编译工具:
powerpclinuxgnugcc
二、移植步骤
1. 交叉编译openssl
a.创建工作目录
cd /root/Aaron mkdir openssl0.9.8k cd openssl0.9.8k mkdir compressed install source
其中compressed用于存放源码包,install为软件安装目录,source为源码包解压目录。
b.获取源码包
从http://www.openssl.org/上获取openssl的最新稳定版本,目前为0.9.8k。
将源码包拷贝到compressed目录下,
cp openssl0.9.8k.tar.gz /root/Aaron/openssl0.9.8k/compressed
c.解压源码包
cd /root/Aaron/openssl0.9.8k/compressed tar –zxvf openssl0.9.8k.tar.gz –C ../source
d.生产Makefile文件
cd ../source/openssl0.9.8k ./Configure –prefix=/root/Aaron/openssl0.9.8k/install os/compiler:powerpclinuxgnugcc
e.编译并安装
make make install
2. 交叉编译libxml2
a.创建工作目录
cd /root/Aaron mkdir libxml22.7.3 cd libxml22.7.3 mkdir compressed install source
其中compressed用于存放源码包,install为软件安装目录,source为源码包解压目录。
b.获取源码包
从http://xmlsoft.org/上获取libxml2的最新稳定版本,目前为2.7.3。
将源码包拷贝到compressed目录下,
cp libxml2sources2.7.3.tar.gz /root/Aaron/libxml22.7.3/compressed
c.解压源码包
cd /root/Aaron/libxml22.7.3/compressed tar –zxvf libxml2sources2.7.3.tar.gz –C ../source
d.生产Makefile文件
cd ../source/libxml22.7.3 CC=powerpclinuxgnugcc ./configure –prefix=/root/Aaron/libxml22.7.3/install –host=powerpclinuxgnu
e.编译并安装
make make install
3. 交叉编译bind
a.创建工作目录
cd /root/Aaron mkdir bind9.6.1 cd bind9.6.1 mkdir compressed install source
其中compressed用于存放源码包,install为软件安装目录,source为源码包解压目录。
b.获取源码包
从https://www.isc.org/上获取bind的最新稳定版本,目前为9.6.1。
将源码包拷贝到compressed目录下,
cp bind9.6.1.tar.gz /root/Aaron/bind9.6.1/compressed
c.解压源码包
cd /root/Aaron/bind9.6.1/compressed tar –zxvf bind9.6.1.tar.gz –C ../source
d.生产Makefile文件
cd ../source/bind9.6.1 CC=powerpclinuxgnugcc LDFLAGS=static BUILD_CC=gcc ./configure –host=powerpclinuxgnu –withopenssl=/root/Aaron/openssl0.9.8k/install –enableepoll=no –withrandomdev= –disablelinuxcaps –withlibxml2=/root/Aaron/libxml22.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:在移植过程中出现“No rule to make target `install’”错误怎么办?
答:这个错误通常表示Makefile文件中没有找到名为install
的目标,可以尝试以下几种解决方法:
1、确保当前目录下存在Makefile文件,并且文件中定义了install
目标。
2、如果使用的是自定义的Makefile,确保在Makefile中添加了相应的规则来定义install
目标。
install : all @echo "Installing..." # 在这里添加安装命令,如复制文件到指定目录等。
3、如果问题仍然存在,请检查源码包是否完整,以及是否有遗漏的依赖项。
问题2:如何验证移植后的DNS服务是否正常工作?
答:可以通过以下几种方法来验证移植后的DNS服务是否正常工作:
1、使用nslookup命令测试DNS解析功能,在目标机上执行nslookup www.baidu.com
,如果能够返回正确的IP地址,则说明DNS服务正常工作。
2、检查DNS服务的日志文件,看是否有错误信息或异常情况,常见的日志文件位置有/var/log/messages
或/var/log/syslog
。
3、如果DNS服务依赖于其他服务(如DHCP),请确保这些服务也已正确配置并运行。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/115347.html