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
相关推荐
广州灵眸科技有限公司8 小时前
4G 模组开机自连 systemd 服务方案:基于灵眸科技EAI1106--Core-T
运维·服务器·科技
qq_401700419 小时前
Linux设备树详解
linux·运维·服务器
云梦谭10 小时前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh
刚入门的大一新生10 小时前
Linux-信号
linux·运维·服务器
GeW14 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux
云宏信息15 小时前
超融合和存算分离怎么选?从性能、可靠性、扩展、成本四个维度讲述如何精准匹配架构选型 | 附企业降本轻量云方案
运维·服务器·架构·云计算
mounter62515 小时前
深入理解 gccrs:GCC 如何实现 Rust 编译器,以及编译 Linux 内核面临的挑战
linux·驱动开发·rust
垚垚学技术_聚焦云原生15 小时前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
无足鸟ICT16 小时前
【RHCA+】type命令(判断命令类型)
linux·ssh·bash
咸鱼梦想家π16 小时前
Linux开发工具(下)
linux·运维·服务器