編譯適用於TP-Link WR703N的OpenWRT固件

編譯適用於TP-Link WR703N TP-Link MR11U 以及使用AR9331芯片組的單WAN/LAN複用口的路由。linux

 

注:刷機有風險,刷機需謹慎。通常狀況下是不會失敗的,若沒法經過捅Reset復位,斷電,用牙籤捅住Reset,上電,一段時間後指示燈會不斷閃爍,將電腦網卡的IP設置爲192.168.1.x(x除了網關外的任意值),子網掩碼 255.255.255.0,網關 192.168.1.1 。以後telnet 192.168.1.1,輸入firstboot 回車 復位。git

 

首先,準備一個乾淨的Linux系統。這裏以ubuntu爲例。這裏以服務器版,32位爲例。建議使用32位系統編譯。sql

下載地址(國內鏡像):http://mirrors.163.com/ubuntu-releases/ubuntu

 

終端,或者ssh下編譯以下組件:服務器

升級組件包
sudo apt-get update網絡

安裝編譯須要的組件
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install git-core
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
sudo apt-get install libssl-dev
sudo apt-get install libsqlite3*
sudo apt-get install intltool
sudo apt-get install libiconv*
sudo apt-get install gstreamer-0.10*
sudo apt-get install glib2.0
sudo apt-get install libxml2-dev
sudo apt-get install qemuapp

*64位系統需安裝ia32-libsssh

一次性編譯全部所需組件(上面爲單個編譯):
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev git-core gawk asciidoc libz-dev sphinxsearch libtool sphinx-common libssl-dev libsqlite3* intltool libiconv* gstreamer-0.10* glib2.0 libxml2-dev qemuide

 

編譯以上需下載的東西較多,建議選擇國內的源進行。svn

 

使用非root用戶登陸,創建openwrt目錄
mkdir openwrt

進入openwrt目錄
cd openwrt

下載openwrt源碼
svn checkout svn://svn.openwrt.org/openwrt/trunk

賦予trunk目錄權限
sudo chmod -R 777 trunk

進入trunk目錄
cd trunk

更新最新源碼
./scripts/feeds update -a

安裝最新源碼
./scripts/feeds install -a

更新版本號
svn up

進入編譯菜單
make menuconfig

編譯
make V=99

清除編譯過程產生的臨時文件
make clean

恢復編譯環境
make defconfig


 -------------------------------------------------------------------------------------------------------------------

下面以編譯TP-LINK 741N的openwrt固件爲例,只編譯基本的功能:

make menuconfig
Target System---AR71xx/AR7240/AR913x/AR934x CPU型號
Target Profile---TP-LINK 741
LuCI—>Collections—– <*> luci 添加Luci
LuCI—>Translations—- <*> luci-i18n-chinese   添加中文
EXT----YES   
make V=99    開始編譯
成功後在bin文件夾裏有編譯好的固件。


----------------------------------------------------------------------------------------------------------------------


使用WinSCP登陸進行文件管理
編譯適用於8M Flash的固件,需修改Makefile和mktplinkfw.c文件。

Makefile位於:target/linux/ar71xx/image
找到

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0×07030101,1,8Mlzma))

將其中的4Mlzma替換成8Mlzma

mktplinkfw.c位於:tools/firmware-utils/src
找到

}, {
.id = 「TL-WR703Nv1″,
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = 「4Mlzma」,

將其中的4Mlzma替換成8Mlzma

 

修改默認SSID,添加WIFI配置

修改mac80211.sh文件,位於package/mac80211/files/lib/wifi

option disabled 1改爲0,默認開啓wifi。

option disabled 0下添加

option htmode HT40+
option channel 1
option country CN
option noscan 1
option txpower 17

option htmode HT40+ 使用40MHz頻寬,但只支持1-7信道。HT40-,支持5-13信道。HT20 支持1-13信道,20MHz頻寬
option channel 1使用信道1,1-13之間。如有限定頻寬,信道參考如上。
option country CN 設定wifi標準爲中國
option noscan 1 強制使用40MHz的頻寬
option txpower 17 發射功率爲17dBm,大約50mW。不可設定過大,不然有燒燬PA的危險。

修改默認SSD:

config wifi-iface
option device   radio$devidx
option network  lan
option mode     ap
option ssid     MiMi
option encryption none

option mode ap,配置模式爲AP。例如WDS之類。
option ssid     MiMi 個人默認SSID名爲MiMi
option encryption none 是否開啓加密
option network  lan 位於哪一個接口的管理之下,默認lan。通常無需修改

 

修改用戶名密碼

默認狀況下root是沒有密碼的,需設定密碼才能開啓ssh。
修改shadow文件,位於package/base-files/files/etc

root:$1$wEehtjxj$YBu4quNfVUjzfv8p/PBo5.:0:0:99999:7:::

將密碼修改爲admin。

 

修改路由鏈接數,優化網絡參數

鏈接數默認狀況下是1.6萬多吧。能夠選擇性修改。
修改sysctl.conf文件,位於package/base-files/files/etc

net.netfilter.nf_conntrack_max=65535

65535自行替換。

 

修改主機名,設定時區

好比修改路由名字,設定時區等。
修改system文件,位於package/base-files/files/etc/config

config system
option conloglevel 8
option cronloglevel 8
option hostname MiMi
option timezone Asia/Shanghai
option timezone CST-8

config timeserver ntp
list server 0.openwrt.pool.ntp.org
list server 1.openwrt.pool.ntp.org
list server 2.openwrt.pool.ntp.org
list server 3.openwrt.pool.ntp.org
option enable_server 0

option hostname MiMi 設定主機名,這裏MiMi是我設定的主機名。自行修改
option timezone Asia/Shanghai 時區設置爲亞洲/上海
option timezone CST-8 正8區
list server 就是ntp服務器了。

 

集成Aria2 1.16.1

如今openwrt提供的仍是1.16.0,這裏需修改爲支持1.16.1編譯。

Aria2 1.16.1:aria2-1.16.1  下載後將後綴由zip改成tar.gz

1.修改Makefile文件,位於:feeds\packages\net\aria2

PKG_VERSION:=1.16.0

將1.16.0修改爲1.16.1

PKG_MD5SUM:=1.16.1

後面添加上 aria2-1.16.0.tar.bz2的MD5值。我提供的文件是的md5值是:AD7E0575CE4A480EB54030E1D348E076

2.修改packages.index文件,位於:feeds

Source: aria2-1.16.0.tar.bz2

搜索aria2會發現Source: aria2-1.16.0.tar.bz2,將aria2-1.16.0.tar.bz2改成aria2-1.16.1.tar.bz2,並將aria2-1.16.1.tar.bz2放到trunk目錄的dl目錄下。

3.添加luci-app-aria2,這樣方便在luci中對aria2的參數進行設定和管理
①下載 Source_luci-app-aria2 ,解壓Source_luci-app-aria2.zip,將Source_luci-app-aria2文件夾更名爲luci,上傳到feeds/luci/luci

②修改luci.index文件,位於feeds
在luci-app-transmission中添加以下內容:

Package: luci-app-aria2
Submenu: 3. Applications
Version: trunk+svn-1
Depends: +PACKAGE_luci-app-aria2:aria2
Provides:
Build-Depends: lua/host
Section: luci
Category: LuCI
Title: aria2 configuration module
Maintainer: LuCI Development Team <luci@lists.subsignal.org>
Source:
Type: ipkg
Description: aria2 configuration module

http://luci.subsignal.org/

@@

③修改Makefile文件,位於feeds/luci/luci
添加以下內容:

$(eval $(call application,aria2,aria2 configuration module,\
+PACKAGE_luci-app-aria2:aria2))

13-12-26更新
新版本的Makefile文件位於feeds/luci/contrib/package/luci

④將luci aria2加入luci源碼包
修改luci-trunk+svn9577.tar.gz文件,解壓luci-trunk+svn9577.tar.gz到openwrt/t
使用命令:tar -zxvf luci-trunk+svn9577.tar.gz -C luci-trunk+svn9577

打開Source_luci-app-aria2文件,提取applications和po這兩個文件夾覆蓋到咱們創建的t文件夾下,接着打包回去。
使用命令:tar -zcvf luci-trunk+svn9577.tar.gz luci-trunk+svn9577

⑤更新修改,終端或ssh中輸入./scripts/feeds install -a,安裝新源碼,在menuconfig中luci-luci-Applications中即可以找到luci aria2了。勾選後會連network下的aria2一塊兒安裝。

 

漢化 transmission

下載我已經修改好的(漢化部分參考網絡)transmission.po文件覆蓋到 luci-trunk+svn9577/po/zh_CN 文件夾中。打包回去。過程參照上面 集成Aria2 1.16.1 部分 ④
下載:transmission

 

修改WAN LAN口位置與MAC信息

移步:http://blog.ich8.com/post/3243

 

上次更新 2013-02-14 上次更新 2013-12-25 上次更新 2013-12-26 上次更新 2014-01-01 最後更新 2014-01-15 2013-12-25 更新內容 添加libssl-dev支持,若無則編譯新版本可能會出現沒有找到md5.h的錯誤。 2013-12-26 更新內容 註釋新版openwrt luci Makefile文件位置位於feeds/luci/contrib/package/luci 2014-01-01 更新內容 添加libsqlite3* intltool libiconv* gstreamer-0.10* 2014-01-15 更新內容 添加glib2.0 libxml2-dev ia32-libs qemu

相關文章
相關標籤/搜索