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
相关推荐
xiaoqiMikko11 小时前
Linux 实战(一):CentOS 7、Rocky 9、Ubuntu 24.04 三台真机实测 —— 认清系统、换源、装包的版本坑
linux·centos
迷途之人不知返11 小时前
【基础IO】-1-预备知识与准备工作
linux
xiaoqiMikko11 小时前
Linux 实战(二):端口不通 —— CentOS 7、Rocky 9、Ubuntu 24.04 上防火墙和 SELinux 的实测差异
linux·centos
大鹏的NLP博客11 小时前
WSL Ubuntu 26.04 升级与环境整理记录
linux·ubuntu·wsl
GeW12 小时前
如何打造真正的数字化工厂?需从Red Hat到数据库底层打捞基石
linux
沫璃染墨12 小时前
从零入门计算机网络系列(一):计算机网络初识——从网络发展史到TCP/IP协议》
linux·网络·网络协议·tcp/ip·计算机网络
zyseo812 小时前
谷歌SEO 站内搜索优化实战:把站内搜索词变成关键词金矿
java·服务器·数据库
王大傻092812 小时前
堆叠注入(Stacked Queries Injection)详解:原理、利用与防御
服务器·网络·数据库·web安全·网络安全
bigcarp13 小时前
安卓模拟器MUMU+tcpdump抓包Socket协议流量
服务器·网络·tcpdump
是个西兰花13 小时前
TCP套接字编程实战:从服务器搭建到多进程处理
服务器·网络协议·tcp/ip