http://blog.chinaunix.net/uid-17188120-id-2820863.html

前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通)。

1.  在内核中添加以下选项:

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命令时出现如下错误:

~ # udhcpc

udhcpc (v0.9.9-pre) started

udhcpc[208]: udhcpc (v0.9.9-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中添加以下选项:

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命令。

3.  建相关配置文件

从busybox的examples/udhcp/下copy  simple.script文件到开发板/usr/share/udhcpc/下,并重命名为default.script,udhcp_0.9.8cvs20050303.orig.tar.gz中也有这样的文件。

[root@localhost root]# vi usr/share/udhcpc/default.script

#!/bin/sh

# udhcpc script edited by Tim Riker <Tim@Rikers.org>

[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1

RESOLV_CONF="/etc/resolv.conf"

[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"

[ -n "$subnet" ] && NETMASK="netmask $subnet"

case "$1" in

deconfig)

/sbin/ifconfig $interface 0.0.0.0

;;

renew|bound)

/sbin/ifconfig $interface $ip $BROADCAST $NETMASK

if [ -n "$router" ] ; then

echo "deleting routers"

while route del default gw 0.0.0.0 dev $interface ; do

:

done

for i in $router ; do

route add default gw $i dev $interface

done

fi

echo -n > $RESOLV_CONF

[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF

for i in $dns ; do

echo adding dns $i

echo nameserver $i >> $RESOLV_CONF

done

;;

esac

exit 0

4.  重启开发板,执行udhcpc就可自动获取IP地址了,以下是执行udhcpc的输出信息:

~ # udhcpc

udhcpc (v0.9.9-pre) started

udhcpc[228]: udhcpc (v0.9.9-pre) started

Sending discover...

udhcpc[228]: Sending discover...

Sending select for 192.168.1.109...

udhcpc[228]: Sending select for 192.168.1.109...

Lease of 192.168.1.109 obtained, lease time 86400

udhcpc[228]: Lease of 192.168.1.109 obtained, lease time 86400

deleting routers

route: SIOC[ADD|DEL]RT: No such process

adding dns 192.168.0.1

~ # ping www.baidu.com

PING www.a.shifen.com (220.181.38.4): 56 data bytes

64 bytes from 220.181.38.4: icmp_seq=0 ttl=52 time=1219.0 ms

[1] + Stopped                    ping www.baidu.com

5.  如果是双网卡必须用参数指明

例:udhcpc  -i  eth1

嵌入式linux通过DHCP自动获取IP地址实现相关推荐

  1. linux ip命令dhcp,嵌入式linux通过DHCP自动获取IP地址实现获取

    前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). 1.在内核中添加以下选项: Networking  ---> [*] Networking suppo ...

  2. centOS7 Minima无法上网解决方案(Linux设置开机自动获取ip地址)

    本例中以CentOS 7举例说明如何设置Linux开机自动获取IP地址. 1.输入"ip addr"并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令) ...

  3. Cisco:DHCP自动获取IP地址

    Cisco:DHCP实现自动获取IP地址 局域网网络协议,用于管理和分配IP地址,使用UDP协议工作,常用的端口是67(server),68(client) Cisco:DHCP实现自动获取IP地址 ...

  4. DHCP自动获取IP地址的过程(自动获取ip地址的过程)

    我们电脑(或者W5500)在自动获取IP地址的过程(通过DHCP请求获取IP的过程),电脑是客户端,路由器是DHCP客户端. 1.DHCP的请求的总过程 1.1在 DHCP请求的过程中,包括 4 个主 ...

  5. linux设置成自动获取ip地址吗,centos怎么设置自动获取ip地址

    在适合Cable ip路由器环境下,centos可以设置成自动获取ip地址方式,下面是学习啦小编给大家整理的一些有关centos设置自动获取ip地址的方法,希望对大家有帮助! centos设置自动获取 ...

  6. DHCP自动获取ip地址

    文章目录 前言 一:DHCP概述 1.1:DHCP产生的背景: 1.2:DHCP应用场景: 1.3:DHCP报文类型: 1.4:DHCP工作原理: 二:实验环境 2.1: 华为ensp软件 2.2: ...

  7. Linux虚拟机设置自动获取IP地址

    前言 如下图所示: 对于刚刚创建的Linux虚拟机是没有ip地址的,下面我们可以修改配置使其自动获取IP 设置自动获取IP 1.这里看上图我的网卡是ens33,所以之后应找到对应的配置文件 #执行命令 ...

  8. Linux如何自动获取IP地址

    第一步:激活网卡 系统装好后默认的网卡是eth0,用下面的命令将这块网卡激活. # ifconfig eth0 up 第二步:设置网卡进入系统时启动 想要每次开机就可以自动获取IP地址上网,就要设置网 ...

  9. Linux网络配置——从自动获取IP地址转为固定IP地址

      众所周知,Linux中有两种获取ip的方式,那么自动获取IP地址和指定IP地址有什么区别和特点呢?为什么Linux程序员都需要使用固定IP地址呢? 如下所示: 两种获取方式的优缺点 1. 自动获取 ...

最新文章

  1. 3D 视觉 相关知识-SLAM框架-常见方案对比
  2. 宁波海关连续查获走私白糖1700余吨
  3. 精通python要多久-精通python 或者R语言大约需要多长时间?怎样算精通?
  4. QCustomplot怎么实现对大数据量的自适应采样显示不卡顿
  5. 洛谷4951 地震 bzoj1816扑克牌 洛谷3199最小圈 / 01分数规划
  6. 继苹果亚马逊之后 微软加入1万亿美元市值俱乐部
  7. NOD32和小红伞的90天免费KEY申请
  8. 基于JAVA的旅游企业财务管理系统源码【包调试】
  9. c语言设计程序计算水仙花数,C语言水仙花数算法
  10. luffy-16/订单表设计,立即付款接口/前端,支付成功get回调用户展示,支付成功post回调修改订单状态
  11. 集合多种功能的转录调控数据库:hTFtarget,介绍及使用教程
  12. 亚马逊跟卖还能做吗?
  13. 2020年技术领导者需要关注的5个关键领域
  14. 50天计算机考研数学,50天数学冲刺:那些hold住高分的诀窍
  15. 数据集分类不平衡的影响与处理
  16. ZZULIOJ-1095: 时间间隔(多实例测试)(Java)
  17. TWRP / android 四清三清双请概念
  18. 软件测试工程师,是学习Java还是Python比较好呢?
  19. 普通显示器和高清显示器
  20. 013、full-page-writes(全页写)

热门文章

  1. 用jquery + iframe實現iframe子頁面加載完前的緩沖效果
  2. h5的语义化部分_Html5新增的语义化标签(部分)
  3. mysql出现can t_php运行提示Can't connect to MySQL server on 'localhost'的解决方法
  4. mysql hash分区 数目_mysql8 参考手册-HASH分区
  5. python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!
  6. [蓝桥杯][2017年第八届真题]正则问题(DFS)
  7. 高斯粒子滤波matlab,粒子滤波(Particle filter)matlab实现 | 学步园
  8. ipython安装成功却无法运营_pyspider显示安装成功但仍无法运行
  9. Latex与VSCode环境搭建问题解决
  10. string会传null吗_JVM 解剖公园(10): String.intern()