首页 > 代码库 > busybox 移植 Udhcpd 到 Arm 板子 实现 路由热点

busybox 移植 Udhcpd 到 Arm 板子 实现 路由热点

 

下载最新版本:

wget https://busybox.net/downloads/busybox-1.25.1.tar.bz2


tar -jxvf busybox-1.25.1.tar.bz2

 

 

 一、 交叉编译生成busybox 万能小宝贝工具:

 

 

修改 编译配置:

 

 

Additon Crossfile:

make menuconfig -->> Busybox Settings -->> Build Option -->> Corss Compile  prefix

 

这里写上你 交叉编译工具链的路径:

/home/hongzhunzhun/work/OpenWrt-SDK-sunxi-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-arm_cortex-a7+neon_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-uclibcgnueabi-

 

 

 

 


nsenter.c:(.text.nsenter_main+0x1b0): undefined reference to `setns‘

make menuconfig

Linux System Utilities--->nsenter,去掉该选项,重新编译make,又出现如下错误:

 

 


sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs‘

 

make menuconfig

Coreutils--->sync选项去掉,重新make编译通过,生成了busybox可执行文件。

 

 

 make && make install

 

 

 

 

这一幕 好激动有木有:

 

 大功告成 !!!

 

技术分享

 

 默认安装路径 在 主目录下面的  _install   目录 .

 

技术分享

 

 UDHCPC:/sbin 目录

 UDHCPD:/usr/sbin 目录

 

 

 

 

DHCPD 使用:

 


3.配置udhcpd.conf
vi udhcpd.conf


4.创建 leases
mkdir -p /var/lib/misc/
touch /var/lib/misc/udhcpd.leases

 

5.启动热点
sh /opt/ipnc/program/wifi/wifi_ap.sh

./root/usr/sbin/udhcpd -f /etc/udhcpd.conf &

 

 

附件 udhcpd.conf:

# Sample udhcpd configuration file (/etc/udhcpd.conf)
# Values shown are defaults

# The start and end of the IP lease block
start           192.168.43.20
end             192.168.43.254

# The interface that udhcpd will use
interface        wlan0
# The maximim number of leases (includes addresses reserved
# by OFFER‘s, DECLINE‘s, and ARP conficts). Will be corrected
# if it‘s bigger than IP lease block, but it ok to make it
# smaller than lease block.
#max_leases     254

# The time period at which udhcpd will write out a dhcpd.leases
# file. If this is 0, udhcpd will never automatically write a
# lease file. Specified in seconds.
#auto_time      7200

# The amount of time that an IP will be reserved (leased to nobody)
# if a DHCP decline message is received (seconds).
#decline_time   3600

# The amount of time that an IP will be reserved
# if an ARP conflct occurs (seconds).
#conflict_time  3600

# How long an offered address is reserved (seconds).
#offer_time     60

# If client asks for lease below this value, it will be rounded up
# to this value (seconds).
#min_lease      60

# The location of the leases file
#lease_file     /var/lib/misc/udhcpd.leases

# The location of the pid file
#pidfile        /var/run/udhcpd.pid

# Everytime udhcpd writes a leases file, the below script will be called.
#notify_file                    # default: no script
#notify_file    dumpleases      # useful for debugging

# The following are bootp specific options, settable by udhcpd.
#siaddr         192.168.0.22            #default: 0.0.0.0
#sname          zorak                   #default: none
#boot_file      /var/nfs_root           #default: none

# The remainer of options are DHCP options and can be specifed with the
# keyword ‘opt‘ or ‘option‘. If an option can take multiple items, such
# as the dns option, they can be listed on the same line, or multiple
# lines. The only option with a default is ‘lease‘.
# Examples:
opt     dns     192.168.10.2 192.168.10.10
option  subnet  255.255.255.0
opt     router  192.168.10.2
opt     wins    192.168.10.10
option  dns     129.219.13.81   # appened to above DNS servers for a total of 3
option  domain  local
option  lease   864000          # 10 days of seconds

# Currently supported options (for more info, see options.c):
#opt subnet
#opt timezone
#opt router
#opt timesrv
#opt namesrv
#opt dns
#opt logsrv
#opt cookiesrv
#opt lprsrv
#opt bootsize
#opt domain
#opt swapsrv
#opt rootpath
#opt ipttl
#opt mtu
#opt broadcast
#opt wins
#opt lease
#opt ntpsrv
#opt tftp
#opt bootfile

# Static leases map
#static_lease 00:60:08:11:CE:4E 192.168.0.54
#static_lease 00:60:08:11:CE:3E 192.168.0.44

  

 

拿走不谢 !!!

 

busybox 移植 Udhcpd 到 Arm 板子 实现 路由热点