arm linux 移植 udhcp 与 使用

在一些网络环境下,需要静态IP不够现实,需要使用DHCP进行自动获取IP地址。

udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微μ- DHCP -客户端client(μDHCPc)。

前提:在KERNEL中需要将 Packet socket(CONFIG_PACKET)和IP: DHCP support(CONFIG_IP_PNP_DHCP)编译进内核或编译成模块。

在内核中添加以下选项:

复制代码
Networking  --->
   [*] Networking support  
      Networking options  --->
          <* > Packet socket                 //添加:配置 CONFIG_PACKET
          [ * ]     IP: DHCP support         //添加:配置 CONFIG_IP_PNP_DHCP
          [ * ] 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

busybox移植 udhcp

复制代码
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就会支持udhcpc(客户端)功能。

如何运行dhcp?

需要把busybox源码中的/examples/udhcp/simple.script 下载到开发板(例如下载到/home目录)上。

并执行

udhcpc -i wlan0 -s /home/simple.script (wlan0是自己的网卡名称)

默认操作

udhcpc默认读取开发板上/usr/share/udhcpc/default.script文件,因此,也可以

复制代码
mkdir /usr/share/udhcpc/
cp simple.script /usr/share/udhcpc/default.script
chmod +x /usr/share/udhcpc/default.script
udhcpc -i wlan0
相关推荐
充电zcx19 小时前
Linux:4:开发工具详解
linux·运维·服务器
码农客栈1 天前
linux 交叉编译tslib
linux
鱼月半1 天前
两台电脑直连网络不通怎么办?
linux·网络协议
光电笑映1 天前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
酸菜。1 天前
dw_apb_gpio总结
linux
wunaiqiezixin1 天前
MIT 6.S081 file system 实验篇(lab9):Large files (moderate)
linux·unix·os·xv6·mit6.s081
GeW1 天前
RHCE 考试通过率提升:核心考点、实验环境与排错技巧
linux
吴声子夜歌1 天前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
mengge.cloud1 天前
0917Docker 小白实验教程(理论+实操)
linux·服务器·网络·docker
Escalating_xu1 天前
【内存管理发展史】从 8086 实模式到分页:CPU 如何把虚拟地址变成物理地址
linux·缓存