1. 虚拟机安装linux
  2. 打开终端
sudo apt-get update
sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git subversion libssl-dev libncurses5-dev  patch unzip zlib1g-dev 


如果是64位系统的话还需要安装32位兼容包

sudo apt-get install libc6:i386 libgcc1:i386 libstdc++5:i386 libstdc++6:i386

 

在用户目录下mkdir 任意名
cd 任意名

源码下载地址的话可以通过以下网址查看
https://dev.openwrt.org/wiki/GetSource

还有这里要说明一下源码名字
以往教程里面都说backfire是稳定版,trunk是开发板
现在我在此要更正一下
1:trunk是开发板
2:稳定版的话现在大概有4个版本,backfire,AA,BB,CC
3:稳定版都是原来的TRUNK的一个稳定分支
4:backfire感觉是史前文明的产物,最新的ubuntu GCC编译器已经无法兼容backfire的代码,除非降级GCC,否则编译会出错

本人演示的代码用的是openwrt 15.05 最新的稳定版
输入源码的下载命令
git clone git://git.openwrt.org/15.05/openwrt.git 
之后
cd openwrt


接下来下载feeds更新,这是为了下载和安装让luci之类的第三方包的源码,如果不进行这步的话配置菜单是没有非op的包给你选的
./scripts/feeds update -a
安装feeds更新
./scripts/feeds install -a

接下来是
make defconfig
检测环境和添加包,之前的环境安装就是根据这个来的

然后
make menuconfig

 

添加LUCI
路径为LUCI-collections-LUCI

添加中文,添加自定义luci-app

 

首先
ulimit -s 10240 
这个命令是防止爆栈
对make加入多线程编译支持
make V=99 -j线程数
速度比单线程快N倍 

下面是修改openwrt各项配置参数所要找的位置:

etc/rc.local

Package/base-files/files/etc/rc.local

etc/sysctl.conf

Package/base-files/files/etc/sysctl.conf

Etc/config/dhcp:lan

Package/network/services/dnsmasq/files/dhcp.conf

Etc/config/dhcp:dnsmasq

Package/network/services/dnsmasq/files/dnsmasq.init

etc/config/uhttpd

Package/network/services/uhttpd/files

Etc/firewall.user

Package/network/config/firewall/files/firewall.user

Etc/config/system

Package/base-files/files/etc/config/system

Lib/ipaddr

Package/base-files/files/lib/ipaddr

www/*

Feeds./luci/modules/luci-base/root/www/*

Etc/config/wireless

Package/kernel/mac80211/files/lib/wifi/mac80211.sh

固件体积

Target/linux/ar71xx/image/makefile

型号名

Target/linux/ar71xx/base-files/lib/ar71xx.sh

LED网口配置

Target/linux/ar71xx/files/arch/mips/ath79/

主板系列配置

Target/linux/ar71xx/base-files/etc/uci-defaults

默认密码

Package/base-files/files/etc/shadow

etc/config/luci

Feeds./luci/modules/luci-base/root/etc/config/luci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

下面是TP系列单频路由器的配置表:

(水星和迅捷版本号相同 mw300r=fw300r,mw150r=fw150r,mw305r=fw305r)

型号

CPU

灯数

wr740n v5,mw150r v5/v6/v8,fw150r v5-v10

ar9331

8

wr740n v6,mw150r v10/v11,fw150r v11

ar9331

6

wr841n v8,mw300r v3/v4

ar9341

8

wr841n v9

ar9341

6

wr841n v10,mw305r v3

qca9531

6

wr841n v11,mw300r v9/v10,mw305r+ v1/v3.1

qca9533

6

mw300r v6/v7

mt7620n

8

mw305r v1/fwr200 v1/v2

mt7620n

6

mw300r v12,fwr200 v4

mt7628kn

6

水星迅捷路由器型号芯片整理

型号

芯片

内存闪存

天线

备注

310r v1/v2/v3

ar9341

2/16

3

 

310r v4,313r v1

mt7620n

1/8

3

 

310r v5,313r v2 v3,315r v1

mt7628kn

1

3

 

316r v1

qca9533

1/8

3

坑爹功放

325r v1,323r v1,320r v1

qca9533

1/8

4

 

325r v2

bcm5357

 

4

 

325r v3

mt7628kn

1

4

 

ar9331系列主板配置在wr741nd-v4中,改网口顺序

AR9331修正方法:以编译tl-wr741n-v4固件为例,找到文件mach-tl-wr741nd-v4.c,在目录attitude_adjustment/target/linux/ar71xx/files/arch/mips/ath79/下,将代码
ath79_setup_ar933x_phy4_switch(true, true); 改为ath79_setup_ar933x_phy4_switch(false, false);或者直接删掉。

AR9341修正方法:以编译tl-wr841n-v8固件为例,在刚才的目录下找到文件mach-tl-wr841n-v8.c,将代码
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);改为ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
ath79_switch_data.phy_poll_mask = BIT(0);改为ath79_switch_data.phy_poll_mask = BIT(4);
ath79_eth0_data.phy_mask = BIT(0);改为ath79_eth0_data.phy_mask = BIT(4);

无线名称参数默认值:

无线设置初始化
config wifi-device  radio$devidx
	option type     mac80211
	option channel  auto
	option country  CN
	option hwmode	11${mode_band}
$dev_id
$ht_capab
	# REMOVE THIS LINE TO ENABLE WIFI:
	option disabled 0

config wifi-iface
	option device   radio$devidx
	option network  lan
	option mode     ap
	option ssid     ZUT-$(cat /sys/class/ieee80211/${dev}/macaddress|awk -F ":" '{print $5""$6}'|tr a-z A-Z)
	option encryption none

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐