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
相关推荐
代码终究输给规则14 分钟前
MATLAB r2026a 安装包和安装教程
linux·运维·服务器
临岸草惊风.14 分钟前
简单VASP计算INCAR设置(结构优化OPT、静态自洽SCF、能带BAND、态密度DOS)
linux·dft
z落落17 分钟前
C# WinForm TCP 服务器+WinForm TCP 客户端
服务器·tcp/ip·c#
牧码岛19 分钟前
阿里云服务器新端口上线SOP(Windows+Nginx+HTTPS)
服务器·nginx·阿里云
钟良堂26 分钟前
Ubuntu 20.04 部署 ORB_SLAM3 完整流程与踩坑总结
linux·运维·ubuntu
RD_daoyi30 分钟前
谷歌改写了76%的标题:超60字符的,95%会被谷歌自己重写
大数据·服务器·开发语言·前端·搜索引擎·html
张小姐的猫41 分钟前
【Linux】网络编程 —— 手动部署 & 测试内网穿透
linux·运维·服务器·网络·tcp/ip
深念Y1 小时前
ZTE B860AV1.1-T2 机顶盒改造记录:从 Android 到 Linux 服务器
android·linux·运维·服务器·boot·cma·机顶盒
祖力551 小时前
进程相关的函数与exec函数簇
linux·运维·服务器·进程·exec函数簇·进程相关的函数