zoukankan      html  css  js  c++  java
  • 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
    

      

    拿走不谢 !!!

  • 相关阅读:
    python找出数组中第二大的数
    【高并发解决方案】5、如何设计一个秒杀系统
    如何找出单链表中的倒数第k个元素
    二叉树的前序,中序,后序遍历
    剑指Offer题解(Python版)
    python之gunicorn的配置
    python3实现字符串的全排列的方法(无重复字符)
    python实现斐波那契数列
    每天一个linux命令(56):netstat命令
    每天一个linux命令(55):traceroute命令
  • 原文地址:https://www.cnblogs.com/hongzhunzhun/p/6097277.html
Copyright © 2011-2022 走看看