使用DHCP,为开发板自动分配IP地址

本文介绍了如何在开发板上使用DHCP进行网络配置,包括作为客户端自动获取IP和作为服务器动态分配IP。主要内容涉及内核配置、Busybox的编译选项以及udhcpd和udhcpc的使用。在实际操作中,遇到的问题是使用ping命令导致开发板死机,以及在PC上使用DHCP动态获取IP的配置方法。
摘要由CSDN通过智能技术生成

由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持:

1,接入已有网络。这便要求可以作为dhcp客户端,自动获取Ip。

2,作为DHCP服务器,动态分配IP。

3,指定固定IP

第3种情况没有什么好说的,简单说下前2种情况。

使用步骤:

(1)在内核的网络项里面把DHCP配置上,

    Networking --->
    Networking support  
    Networking options --->
           Packet socket                 //添加.配置CONFIG_PACKET
          [ * ]     IP: DHCP support         //添加
          [ * ] Network packet filtering (replaces ipchains) --->  //添加,后面子选项可不选,配置CONFIG_NETFILTER

说明:若没选 Packet socket, [ * ] Network packet filtering (replaces ipchains) --->选项,在执行udhcpc命令时出现如下错误:

   [root@(none) /]# udhcpc -f
   udhcpc (v1.13.2) started
   eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
   udhcpc: socket: Address family not supported by protocol


(2)在busybox里面把[*]udhcp server(udhcpd)

                          [*]udhcp client(udhcpc)都选上。

    udhcpd就是终端设备作为DHCP服务器 ;udhcpc就是终端设备作为DHCP客户端

    若busybox没编译相应选项,也可从网上下载相应文件,用arm-linux交叉编译得到udhcpd,udhcpc命令copy到usr/sbin下就可以了。


 

1>编译Busybox,使make menuconfig,添加以下选项:

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下就可以了。

说明:有种方法说是从网上下的udhcp_0.9.8cvs20050303.orig.tar.gz文件,解压后修改Makefile文件,
在19行添加CROSS_COMPILE=arm-linux-  
注释12行的COMBINED_BINARY=1,
否则不生成udhcpc命令。

注:使用0.9.8版本的udhcp貌似也

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值