DHCP客户端程序移植笔记(全)
更新时间:2023-05-22 21:52:01 阅读量: 实用文档 文档下载
- DHCP客户端程序编码推荐度:
- 相关推荐
DHCP程序运行与调试
实现的目标:
开机时自动获取IP地址,若没有可用的IP地址,选用autoip;或者选用静态配置的ip
地址。
DHCP客户端程序有多种,本系统选用的busybox下的dhcpc。 [1]修改内核配置;在内核中添加以下选项:
Networking --->
[*] Networking support
Networking options--->
<* > Packet socket //添加.配置CONFIG_PACKET
[ * ] IP: DHCP support //添加
[ * ] Network packet filtering (replaces ipchains)---> //添加,后面子选项可不选,配
置CONFIG_NETFILTER
?--- Network packet filtering framework (Netfilter)
说明:若没选<* > Packet socket, [ * ] Network packet filtering (replaces ipchains)--->选项,在
执行udhcpc命令时出现如下错误:
~ # udhcpc
udhcpc (v-pre) started
udhcpc[208]: udhcpc (v-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 [2]修改busybox配置,Busybox中添加以下选项:
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没编译相应选项,也可从网上下载相应文件,用arm-linux交叉编译得到
udhcpd,udhcpc命令copy到usr/sbin下就可以了。
我从网上下的udhcp_cvs20050303.orig.tar.gz文件
解压后修改Makefile文件
在19行添加CROSS_COMPILE=arm-linux-
注释12行的COMBINED_BINARY=1,否则不生成udhcpc命令 [3]运行程序:
up-tech:/sbin #./udhcpc
udhcpc (v1.15.3) started
Sending discover...
Sending select for 192.168.1.102...
Sending discover...
Sending select for 192.168.1.101...
Lease of 192.168.1.101 obtained, lease time 7200
[4]将busybox目录下:examples/udhcp/simple.script拷贝到根目录文件夹
/usr/share/udhcpc/default.script。覆盖掉原始文件。重新制作根目录。
从busybox的examples/udhcp/下copy simple.script文件到开发板/usr/share/udhcpc/下,
并重命名为default.script,udhcp_cvs20050303.orig.tar.gz中也有这样的文件。 修改ip没有成功!
up-tech:/sbin #./udhcpc
udhcpc (v1.15.3) started
Setting IP address 0.0.0.0 on eth0
<1>/usr/share/udhcpc/default.script: line 45: ifconfig: not found
Sending discover...
Sending select for 192.168.1.101...
Lease of 192.168.1.101 obtained, lease time 7200
Setting IP address 192.168.1.101 on eth0
<2>/usr/share/udhcpc/default.script: line 45: ifconfig: not found
Deleting routers
<3>/usr/share/udhcpc/default.script: line 45: route: not found
Adding router 192.168.1.1
<4>/usr/share/udhcpc/default.script: line 45: route: not found
Recreating /etc/resolv.conf
<5>/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-872: Rm
<6>/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-872: Rm
Adding DNS server 192.168.1.1
<7>/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-872: Rm
<8>mv: cannot rename '/etc/resolv.conf-872': No such file or directory
env查看环境变量PATH="/bin:/usr/bin:/opt/bluez/bin:/opt/bluez/sbin"
也可以通过echo $PATH 查看。
busybox生成的在/bin:/sbin:/usr/bin:/usr/sbin。在sbin下的命令都得不到执行。
修改:/etc/profile
将line4:
export PATH=/bin:/usr/bin: 改成
export PATH=/bin:/sbin:/usr/bin:usr/sbin
line29,line30
# Bluez bin/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/bluez/lib
export PATH=$PATH:/opt/bluez/bin:/opt/bluez/sbin
改成
# Bluez bin/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
export PATH=$PATH:/usr/bin:/usr/sbin
错误<5><6><7><8>:
create /etc/resolv.conf-872: 根文件系统不能创建 resolv.conf。在开法板的/etc目录下
可以找到resolv.conf文件。 错误原因在于CromFS是只读文件系统,不能创建和修改文
件。
修改方法:加载yaffs文件系统,将需要读写的文件改成可读写方式。
先不修改。
[5]修改环境变量~
up-tech:~ #echo $PATH
/bin:/sbin:/usr/bin:usr/sbin:/usr/bin:/usr/sbin 运行DHCPC客户端程序;
up-tech:~ #udhcpc
udhcpc (v1.15.3) started
Setting IP address 0.0.0.0 on eth0
Sending discover...
Sending select for 192.168.1.101...
Lease of 192.168.1.101 obtained, lease time 7200
Setting IP address 192.168.1.101 on eth0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.1.1
Recreating /etc/resolv.conf
/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-871: Rm
/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-871: Rm
Adding DNS server 192.168.1.1
/usr/share/udhcpc/default.script: line 45: can't create /etc/resolv.conf-871: Rm
mv: cannot rename '/etc/resolv.conf-871': No such file or directory 查看ip地址是否修改成功;
up-tech:~ #ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:3E:26:0A:5B
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:236 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19801 (19.3 KiB) TX bytes:1180 (1.1 KiB)
Interrupt:18 Base address:0xe000 DMA chan:ff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
[6]开发板直接与PC机连接
up-tech login: root
id: applet not found
-bash: [: -eq: unary operator expected
id: applet not found
up-tech:~ #ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:3E:26:0A:5B
inet addr:192.168.0.195 Bcast:192.168.0.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3581 (3.4 KiB) TX bytes:0 (0.0 B)
Interrupt:18 Base address:0xe000 DMA chan:ff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overrun
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
up-tech:~ #udhcpc
udhcpc (v1.15.3) started
Setting IP address 0.0.0.0 on eth0
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
若使用DHCP,会修改原始的IP地址;注意问题:DHCP获取不到的话,原始的IP 设
置也会被修改。
up-tech:~ #ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:3E:26:0A:5B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6307 (6.1 KiB) TX bytes:5310 (5.1 KiB)
Interrupt:18 Base address:0xe000 DMA chan:ff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
[7]文件系统的只读性问题。有两种解决方式,一种,将mtbblock3挂载到/etc下,mtbblock3是yaffs文件系统。
up-tech:~ #mount -t yaffs /dev/mtdblock3 /etc/
up-tech:~ #udhcpc
udhcpc (v1.15.3) started
Setting IP address 0.0.0.0 on eth0
Sending discover...
Sending select for 192.168.1.101...
Lease of 192.168.1.101 obtained, lease time 7200
Setting IP address 192.168.1.101 on eth0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.1.1
Recreating /etc/resolv.conf
Adding DNS server 192.168.1.1
up-tech:~ #cat /etc/resolv.conf
-n
search domain
nameserver 192.168.1.1
第二种方式,开发板已经把mtbblock3挂载到来root目录下来,修改运行文件的目标文件的位置。
#(1)修改resolv.conf文件的路径"/root/yaffs/resolv.conf"
#RESOLV_CONF="/etc/resolv.conf"
RESOLV_CONF="/root/yaffs/resolv.conf"
启动开发板,在/root/yaffs/新建文件resolv.conf;
up-tech:/ #udhcpc
udhcpc (v1.15.3) started
Setting IP address 0.0.0.0 on eth0
Sending discover...
Sending select for 192.168.1.101...
Lease of 192.168.1.101 obtained, lease time 7200
Setting IP address 192.168.1.101 on eth0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.1.1
Recreating /root/yaffs/resolv.conf
Adding DNS server 192.168.1.1
正在阅读:
DHCP客户端程序移植笔记(全)05-22
港口规划与布置3套模拟卷及答案01-11
汽车综合实训12-25
国内外齿轮精度标准简介03-23
2017年3月7日是什么日子02-10
双头铣椿头圆弧机项目可行性研究报告(发改立项备案+2013年最新05-21
选择题库11-30
2022年党员公开承诺书公开承诺书范文07-31
H3C试题03-08
笔记本维修五十五常见案例05-31
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 移植
- 客户端
- 笔记
- 程序
- DHCP
- 善恶的灰度——《烈日灼心》影评
- 江西农业大学教务处文件
- 2015年中国人民大学马克思主义国学专业专门史,考研真题,心得分享,考研大纲,考研笔记,复试真题
- 对气体内的输运过程的研究
- 《爸爸去哪儿》小孩守店的观后感
- 班组长安全培训考试题
- 小学生课堂常规要求(修改版)
- 雅思作文修改---范例(超详细)
- 太阳能设计报告完结
- DNS服务器的配置及域名解析
- 常用稳压二极管大全,
- 《大学物理实验》20实验二十 薄透镜焦距的测定
- 播音主持艺术学院2011级硕士课表
- 2014高三政治&183;经济生活&183;主观题必备&183;新教材
- 国内外蛋品加工技术的研究现状
- 全新版大学英语综合教程第一册06
- 大学生旅游问卷调查 问题分析 万里市场研究
- 2018年全国高考-数学文科1
- “十三五”规划重点-双氯芬酸钠项目建议书(立项报告)
- 公安机关录用人民警察体能测评项目和标准(暂行)