udhcpc 移植和使用

一、編譯內核

1.執行make ARCH=arm CROSS_COMPLIE=arm-linux-  menuconfig,修改內核配置選項

Networking  --->

        [*] Networking support  

                          Networking options  ---> 

                                   <* > Packet socket                             //添加.配置CONFIG_PACKET

                                    [ * ]     IP: DHCP support                  //添加

                                    [ * ] Network packet filtering--->       //添加,後面子選項可不選,配置CONFIG_NETFILTER

2. 若沒選<* > Packet socket, [ * ] Network packet filtering (replaces ipchains)  --->選項,在執行udhcpc命令時出現如下錯誤:

~ # udhcpc

udhcpc (v1.20.2) started

udhcpc: udhcpc (v1.20.2) started

FATAL: couldn't listen on socket, Address family not supported by protocol

udhcpc: FATAL: couldn't listen on socket, Address family not supported by protocol

二、編譯busybox

配置busybox,添加以下選項

Networking Utilities  --->

                udhcp Server/Client  --->

                      [] udhcp Server (udhcpd)                          

                     [*] udhcp Client (udhcpc)       //生成udhcpc命令                               

                     [ ] Lease display utility (dumpleases)                        

                     [ ]   Log udhcp messages to syslog (instead of stdout)        

                     [ ]   Compile udhcp with noisy debugging messages

三、使用方法

udhcpc只是獲取一個IP,並沒有把ip寫到指定的網卡中,需要把\busybox\examples\udhcp下的腳本simple.script改名爲default.script,放在開發板上的/usr/share/dhcpc/目錄下,修改權限爲777。

重啓開發板,執行udhcpc就可自動獲取IP地址了。

udhcpc (v1.20.2) started
Setting IP address 0.0.0.0 on wlan0
Sending discover...
Sending select for 192.168.6.80...
Lease of 192.168.6.80 obtained, lease time 604800
Setting IP address 192.168.6.80 on wlan0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.6.1
Recreating /etc/resolv.conf
 Adding DNS server 219.150.32.132
 Adding DNS server 202.96.209.5
 Adding DNS server 223.5.5.5

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章