首页 > 代码库 > 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 板子 实现 路由热点