`
fp_moon
  • 浏览: 980372 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

嵌入式linux中使用 DHCP功能描述

    博客分类:
  • DHCP
阅读更多

 

嵌入式linux中使用 DHCP功能描述

 

busyboxudhcpc的默认script脚本地址为
#define DEFAULT_SCRIPT  
 CONFIG_UDHCPC_DEFAULT_SCRIPT
#define CONFIG_UDHCPC_DEFAULT_SCRIPT "/usr/share/udhcpc/default.script"
我想之所以以它作为默认地址,肯定有他的道理,所以在这个地址上创建它[luther.gliethttp]

luther@gliethttp:/vobs/initramfs$ mkdir usr/share/udhcpc/ -p
luther@gliethttp:/vobs/initramfs$
 cp ~/busybox-1.14.3/examples/udhcp/simple.script usr/share/udhcpc/default.script
luther@gliethttp:/vobs/initramfs$
 chmod +x usr/share/udhcpc/default.script
/etc/inittab中加入下面一行语句:
::once:"/sbin/udhcpc >/dev/null 2>&1" # udhcpc
会退出,所以不能使用respawn,必须为once,1,否则将一直出现udhcpc重启log信息
就这样简单的几行ipdns就能自动获取了[luther.gliethttp]
其实有些东西就可以放在rcS等启动脚本中,有些可以到init脚本中去完成.
# /sbin/udhcpc

 

 

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

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

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

  3,指定固定IP

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

  使用步骤:

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

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

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

  udhcpd就是终端设备作为DHCP服务器

  udhcpc就是终端设备作为DHCP客户端

  busybox里面对dhcp都已经给出例子了,

  [zhh@localhost busybox-1.14.1]$ ls ./examples/udhcp/

  sample.bound sample.deconfig sample.nak sample.renew sample.script simple.script udhcpd.conf

  比如使用udhcpc

  就可以直接把simple.script拿来使用,改不改名字都可以,busybox里面默认的目录文件是/usr/share/udhcpc/default.script

  可以查看下帮助

  # udhcpc --help

  BusyBox v1.14.1 (2010-01-22 10:35:16 CST) multi-call binary

  Usage: udhcpc [-Cfbnqtvo] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]

  [-p pidfile] [-r IP] [-s script] [-O dhcp-option]... [-P N]

  -V CLASSID Vendor class identifier

  -i INTERFACE Interface to use (default: eth0)

  -H,-h HOSTNAME Client hostname

  -c CLIENTID Client identifier

  -C Suppress default client identifier

  -p file Create pidfile

  -r IP IP address to request

  -s file Run file at DHCP events (default /usr/share/udhcpc/default.script)

  -t N Send up to N request packets

  -T N Try to get a lease for N seconds (default 3)

  -A N Wait N seconds (default 20) after failure

  -O OPT Request DHCP option OPT (cumulative)

  -o Do not request any options (unless -O is also given)

  -f Run in foreground

  -b Background if lease is not immediately obtained

  -S Log to syslog too

  -n Exit with failure if lease is not immediately obtained

  -q Quit after obtaining lease

  -R Release IP on quit

  -P N Use port N instead of default 68

  -a Use arping to validate offered address

  #

  这样就很好理解了。

  下面就说说使用udhcpd,同样可以直接把busybox自带的udhcpd.conf作为参考,怎么设置该文件就不详述了,去参考相关文档即可。看看udhcpd怎么使用

  # udhcpd --help

  BusyBox v1.14.1 (2010-01-22 10:35:16 CST) multi-call binary

  Usage: udhcpd [-fS] [-P N] [configfile]

  DHCP server

  -f Run in foreground

  -S Log to syslog too

  -P N Use port N instead of default 67

  帮助一目了然。

  我使用的时候直接

  #udhcpd /etc/udhcpd.conf

  即可。

  还有一个租约文件要简要说说,使用udhcpd时会要求建立一个租约文件,按照提示创建一个就行了,它起什么作用呢?就是为了记录客户端所获得的IP,如果没有租约文件,则会重新给客户端分配一个新IP,如果有,则使用原先分配的IP

http://blog.sina.com.cn/s/blog_6d7e4eba0100r64r.html

分享到:
评论

相关推荐

    嵌入式linux系统开发技术详解

    - **U-Boot的环境变量**:解释U-Boot环境中使用的变量及其设置方法。 #### 第7章 配置编译内核 - **Linux内核特点**: - **Linux内核版本介绍**:梳理Linux内核版本的命名规则及其含义。 - **Linux内核特点**:...

    嵌入式Linux开发手册.pdf

    - 描述在网络管理中使用SNMP的实现方法。 #### 七、WEB的支持 - 探讨嵌入式设备上Web服务的实现方式。 通过以上详细的知识点介绍,我们可以看到嵌入式Linux开发不仅涉及到硬件和软件层面的知识,还需要深入理解...

    嵌入式linux vxworks面试题整理.docx

    本文档汇总了嵌入式Linux VxWorks面试题,涵盖了嵌入式系统、Linux内核、VxWorks实时操作系统、进程管理、线程同步、互斥锁、消息队列、管道、信号量、共享内存、文件系统、网络管理、DHCP、RIP协议、Samba服务器、...

    基于ARM的嵌入式Linux系统开发技术详解

    - **嵌入式Linux系统开发要点**:列举了在开发过程中需要注意的关键问题,如内存管理、中断处理等。 #### 第2章:ARM处理器 - **ARM处理器简介**: - **ARM公司简介**:介绍了ARM公司的成立背景及在全球嵌入式...

    dhcp.rar_dhcp_linux dhcp

    在压缩包的文件名称列表中,"dhcp6"可能是指IPv6相关的DHCP功能。尽管DHCP主要处理IPv4地址的分配,但随着IPv6的普及,DHCPv6成为分配IPv6地址的关键协议。DHCPv6的工作流程与DHCP类似,但有一些重要的区别,例如...

    dhcp-4.1.1b3.tar.gz_dhcp-4_dhcp-4.1.0.t_linux dhcp wi

    描述中提到它是一个嵌入式Linux组件,可能用于WIFI环境,这表明该DHCP服务器软件可能被集成到路由器或类似的网络设备中,以便为连接到WIFI的设备提供网络配置服务。 DHCP-4是DHCP协议的一个具体实现,这里的“dhcp-...

    dhcp.rar_2440 dh_dhcp_dhcp s3c2440_embedded linux dhcp_s3c2440

    本文将深入探讨如何在基于三星S3C2440芯片的嵌入式Linux平台上移植并运行DHCP(Dynamic Host Configuration Protocol)服务器。这个过程涉及到的操作包括编译、配置以及调试DHCP服务,确保其在目标硬件上稳定运行。 ...

    DHCP服务器源码

    描述中提到的"在PC平台Linux可以直接编译使用",意味着这个源码是为Linux系统设计的,可以在支持GCC(GNU Compiler Collection)的环境中编译。编译过程通常包括以下步骤:解压源码包(例如`dhcp-4.3.6-P1`),配置...

    嵌入式开发常用工具(securecrt/tftp/ftp)

    以下是对标题和描述中提及的三个常用工具——SecureCRT、TFTP和FTP的详细说明: 1. SecureCRT:这是一款强大的终端模拟器软件,广泛用于嵌入式开发中,因为它支持多种协议,包括SSH(Secure Shell)、Telnet、...

    linux的外文文献

    此外,文档中提到了如何在Linux系统中使用命令行来配置和管理DHCP服务。例如,通过配置文件设置的命令来排除特定的IP地址范围,避免这些地址被DHCP服务动态分配出去。这些细节都是网络管理员在实际工作中需要精确...

    教案嵌入式操作系统模拟题教学.pdf

    在嵌入式系统调试过程中,开发机和目标机之间通常需要物理连接,并使用交叉编译器进行编译,通信方式除了串口和并口外,还有其他如USB、以太网等。 【Bootloader软件】 Bootloader软件如vivi、u-boot和blob,而...

    linux开发实验指导手册

    - 描述如何在 Linux 下开发摄像头应用的具体步骤。 - **视频采集方式** - 讨论不同视频采集方式的特点及其适用场景。 **5.9 Qt 例程** - **Qt HelloWorld** - 使用 Qt 开发框架实现一个简单的“Hello World”...

    行业文档-设计装置-一种基于嵌入式系统平台的IP、MAC地址设置方法.zip

    2. **IP地址的配置**:详述如何在嵌入式系统上手动配置静态IP地址,以及如何配置和使用DHCP服务来动态获取IP地址。 3. **MAC地址的理解**:解释MAC地址的作用,以及如何查看和修改设备的MAC地址。 4. **编程接口**...

    linux工作使用总结

    - 在shell脚本中使用缩进来表示代码块; - 有助于提高代码的可读性。 - **系统命令:** - man:查看命令的帮助手册; - uname:显示系统的名称和版本信息; - blockdev:用于管理块设备的命令。 以上是关于...

    Linux系统移植指南

    在IT领域,Linux系统移植是一项复杂且重要的任务,特别是在嵌入式系统中,例如使用s3c2410处理器的设备。本文将深入探讨如何进行Linux系统在s3c2410平台上的移植,主要包括两个关键部分:U-Boot(微内核引导加载程序...

Global site tag (gtag.js) - Google Analytics