个性化编译openwrt(编译前更改lan.ipaddr,ssid,timezone,root密码 增加13信道)

来源:互联网 发布:类似于prisma的软件 编辑:程序博客网 时间:2024/05/29 15:33

编译OpenWrt之前 编辑 .config文件 搜索 “CONFIG_ATH_USER_REGD” 字符串
搜索到后把前面的 "#" 删掉 改成 CONFIG_ATH_USER_REGD=y
然后在去编译吧
编译好并刷机后,手动吧国家code代码改成CN 然后保存重启,就能看到13信道了,当然你也可以编译前设置国家code为CN,


综述:


  •         本人也是op菜鸟一枚,以下为一步一步测试验证的带血带泪的结果。验证通过才敢放出来。
  • 基本以更改配置文件为主,某些特殊情况需要更改功能脚本内容。
  • 以下均以openwrt位根目录。
  • 以下均写出最终生效方法,及尝试的方法


  •         更改ssid

生效方法:


            
    更改/package/mac80211/files/lib/wifi/mac80211.sh文件,在文件最底下有一段类似与wireless配置文件内容的代码。在这里可以更改成你想要的内容,例如:
           
  1. config wifi-device  radio$devidx
  2.         option type     mac80211
  3.         option channel  ${channel}
  4.         option hwmode        11${mode_11n}${mode_band}
  5. $dev_id
  6. $ht_capab
  7.         # REMOVE THIS LINE TO ENABLE WIFI:
  8.         option disabled 1

  9.         #删掉上面那一行或者将值从1改为0,则可以开启wifi
  10. config wifi-iface
  11.         option device   radio$devidx
  12.         option network  lan
  13.         option mode     ap
  14.         #option ssid     OpenWrt
  15.         option ssid mywifi
  16.         #更改为你想要的ssid
  17.         option encryption none
复制代码



尝试过的方法:
        在源码中搜索wireless文件,然后将文件内的配置内容更改为想要的内容。

  •         更改时区/主机名
            
    更改/package/base-files/files/etc/config/system配置文件
            
    主要是更改了hostnametimezone,如下
          
    1. # add option zonename Asia/Shanghai by benlau
    2. # modify option timezone from UTC to CST-8 by benlau
    3.         option hostname myhost
    4.         option timezone CST-8
    5.         option zonename Asia/Shanghai
    复制代码


  •         更改默认登陆密码
            
    更改/package/base-files/files/etc/shadow文件
            
    熟悉linux的同学可能知道了,就是linux用户的加密方式。哦,我不熟悉。。。
            
    我是在已有的路由上,通过web更改了密码,比如改为admin,然后在路由里看这个文件的内容的。路由里的目录在/etc/shadow
            
    1. root:$1$wEehtjxj$YBu4quNfVUjzfv8p/PBo5.:0:0:99999:7:::
    复制代码
            
    以冒号为分隔符,第一个冒号之前为用户名,没敢改,用了其他策略实现admin用户名
            
    第一个冒号和第二个冒号中间的为加密的密码,此处列出的内容为admin
  •         更改lanip
            
    尝试过的方法沿用更改配置文件的思路
            
    package/base-files/files/etc/config下有network配置文件。
            
    在其他的target目录下也又network配置文件。比如用的是博通的芯片,则可能是在target/linux/brcm47xx/base-files/etc,比如用的是ar系列芯片,可能在target/linux/brcm47xx/base-files/etc目录下。
            
    具体,可以在openwrt目录下搜索network文件名。
            
    network内容更改为你需要的内容,例如
            
    config        interface lan
            
    #更改lan口获取ip的方式为static

        #optionproto        static
        optionnetmask        255.255.255.0
        #更改lanip192.168.31.1
        optionipaddr 192.168.31.1
网上有人发帖,更改package/base-files/files/etc/config是可以生效的,但是如果芯片厂家加了一些其他插件或者硬件内容之类的,则可能不生效。
我这边的案例就是,厂家在op源码里加了zigbee,并且zigbee里也有相同的目录,并且通过查看编译日志发现,zigbee里的zigbee/package/base-files/files/etc/config/network会覆盖op里的。
那么问题来了,我同步更改zigbee里的会不会剩下呢?
答案是不能。。。事实说明的。
生效的方法:
更改/package/base-files/files/lib/functions/uci-default.sh
按需更改内容,如下
  1. ucidef_set_interface_lan() {
  2.         local ifname=$1

  3.         uci batch <<eof
  4. set network.lan='interface'
  5. set network.lan.ifname='$ifname'
  6. set network.lan.type='bridge'
  7. #更改lan口获取ip的方式为static
  8. set network.lan.proto='static'
  9. #更改lan口ip为10.1
  10. set network.lan.ipaddr='192.168.10.1'
  11. set network.lan.netmask='255.255.255.0'
  12. set network.lan.ip6addr='fd04:bd3:80e8:1::1/64'
  13. EOF
  14. }
复制代码


原文地址

http://www.right.com.cn/FORUM/thread-158971-1-1.html

0 0