DHCP客户端程序移植笔记(全)

时间:2022-11-20 22:43:11 作者:壹号 字数:1878字

DHCP程序运行与调试

实现的目标:

开机时自动获取IP地址,若没有可用的IP地址,选用autoip;或者选用静态配置的ip

地址。

DHCP客户端程序有多种,本系统选用的busybox下的dhcpc。 [1]修改内核配置;在内核中添加以下选项:

Networking --->

[*] Networking support

Networking options--->

<* > Packet socket //添加.配置CONFIG_PACKET

[ * ] IP: DHCP support //添加

[ * ] Network packet filtering (replaces ipchains)---> //添加,后面子选项可不选,配

置CONFIG_NETFILTER

?--- Network packet filtering framework (Netfilter)

说明:若没选<* > Packet socket, [ * ] Network packet filtering (replaces ipchains)--->选项,在

执行udhcpc命令时出现如下错误:

~ # udhcpc

udhcpc (v-pre) started

udhcpc[208]: udhcpc (v-pre) started

FATAL: couldn't listen on socket, Address family not supported by protocol

udhcpc[208]: FATAL: couldn't listen on socket, Address family not supported by protocol [2]修改busybox配置,Busybox中添加以下选项:

Networking Utilities --->

udhcp Server/Client --->

[] udhcp Server (udhcpd) //在此不作服务端,故不选。生成udhcpd命令

[*] udhcp Client (udhcpc)//生成udhcpc命令

[ ] Lease display utility (dumpleases)

[ ] Log udhcp messages to syslog (instead of stdout)

[ ] Compile udhcp with noisy debugging messages

若busybox没编译相应选项,也可从网上下载相应文件,用arm-linux交叉编译得到

udhcpd,udhcpc命令copy到usr/sbin下就可以了。

…… 此处隐藏0字 ……

我从网上下的udhcp_cvs20050303.orig.tar.gz文件

解压后修改Makefile文件

在19行添加CROSS_COMPILE=arm-linux-

注释12行的COMBINED_BINARY=1,否则不生成udhcpc命令 [3]运行程序:

up-tech:/sbin #./udhcpc

udhcpc (v1.15.3) started

Sending discover...

Sending select for 192.168.1.102...