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

[ -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 udhcpc命令相关推荐

  1. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  2. linux if 命令判断条件总结

    linux if命令 关于文件属性的判断式 -a 如果文件存在 -b 如果文件存在,且该文件是区域设备文件 -c 当file存在并且是字符设备文件时返回真 -d 当pathname存在并且是一个目录时 ...

  3. linux paste变量,Linux paste命令详解

     Linux 命令大全 小白告诉你:Linux paste 命令用于合并文件的列. paste 指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d ][--help] ...

  4. linux unset命令,Linux unset命令

    Linux unset命令 Linux unset命令用于删除变量或函数. unset为shell内建指令,可删除变量或函数. 语法unset [-fv][变量或函数名称] 参数:-f 仅删除函数. ...

  5. linux wc 命令简介

    此wc命令不是让大家没有食欲的地方.而是linux下一个简单的小命令. NAME wc - word, line, character, and byte count SYNOPSIS wc [-cl ...

  6. linux mysql 命令 大全

    linux mysql 命令 大全 1.linux下启动mysql的命令:   mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.l ...

  7. Linux Find 命令精通指南

    作者:Sheryl Calish Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个.它很难,因为它的语法与其他 Linux 命令的标准语法不同.但是,它很强大,因 ...

  8. linux ps命令大全,Linux ps命令例子汇总

    Linux ps命令主要用于查看系统运行的进程,确定进程运行的状态机是否占用过多资源等?下面学习啦小编通过实例来给大家详细介绍下Linux的ps命令,一起来了解下吧. Linux提供了当前进程的同时, ...

  9. linux用户在哪个文件夹,LINUX中用命令成功建立一个用户后信息会记录在哪个文件中...

    LINUX中用命令成功建立一个用户后信息会记录在哪个文件中 发布时间:2007-07-28 10:14:57来源:红联作者:MPiops 增加用户帐号后 新建用户的命令十分简单,在命令行下使用 use ...

  10. Linux常见命令(二)

    随着Linux应用的扩展许多同学开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力.Li ...

最新文章

  1. mysql服务怎么改名字_MySQL数据库改名字
  2. convert.todatetime指定日期格式_MATLAB的时间与日期
  3. java 时间转中文_使用JScript把时间转成中文
  4. php日历排班表,日历排班表软件下载
  5. win10中cmd拒绝访问授权
  6. Java反射修改返回值_java反射调用时如果返回值是整型数组怎么处理?
  7. AndroidICS4.0----LockScreen锁屏流程【Android源码解析九】
  8. Centos 5.6 安装subversion总结
  9. 简述移动端常见的布局方式
  10. signal、kill、fork
  11. 同步计数 Java_Java之同步计数器CyclicBarrier
  12. python爬虫的国内外现状_Python3.5多线程爬虫越爬越慢的解决方法
  13. SQL 执行计划的理解
  14. 全国计算机考试北京报名时间2015年,北京市2015年9月全国计算机等级考试报名时间...
  15. 转自啄木鸟学院-IT行业培训班出来的人真的不行吗?
  16. Http chunk介绍
  17. Nancy朋友的时间线
  18. 简单的出身年月实现 2018.9.29
  19. 大学生应知道50件事
  20. springboot启动报错org.yaml.snakeyaml.error.YAMLException...

热门文章

  1. 通达OA2017版 手机签章会撑大表格的处理
  2. cad快捷栏怎么调出来_如何显示CAD的工具栏?CAD如何调出工具栏
  3. 论保留地址与私有地址
  4. java 验证码 库_iCaptcha-Java验证码库
  5. 信息论——最大流最小割定理
  6. SPSS入门教程—对数据进行去重操作的相关方法
  7. python在线编辑菜鸟-python菜鸟工具
  8. 运维、开发、测试等 IT 岗位薪酬体系大公开!你拖后腿了吗?
  9. 部署在IIS上的网站程序以管理员权限运行 设置方法
  10. 常用元器件使用方法3:电平转换芯片74LVC1T45的使用方法