编译适用于TP-Link WR703N TP-Link MR11U 以及使用AR9331芯片组的单WAN/LAN复用口的路由。

注:刷机有风险,刷机需谨慎。一般情况下是不会失败的,若无法通过捅Reset复位,断电,用牙签捅住Reset,上电,一段时间后指示灯会不断闪烁,将电脑网卡的IP设置为192.168.1.x(x除了网关外的任意值),子网掩码 255.255.255.0,网关 192.168.1.1 。之后telnet 192.168.1.1,输入firstboot 回车 复位。

首先,准备一个干净的Linux系统。这里以ubuntu为例。这里以服务器版,32位为例。建议使用32位系统编译。

下载地址(国内镜像):http://mirrors.163.com/ubuntu-releases/

终端,或者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 qemu

*64位系统需安装ia32-libs

一次性编译所有所需组件(上面为单个编译):

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 qemu

编译以上需下载的东西较多,建议选择国内的源进行。

使用非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

编译适用于TP-Link WR703N的OpenWRT固件的更多相关文章

  1. 为TL-WR720N编译带mentohust和njit-client的openwrt固件

    openwrt的trunk版已经支持720N了.简单好多. 首先下载openwrt源码,我下的是trunk版 svn co svn://svn.openwrt.org/openwrt/trunk/ 然 ...

  2. 编译树莓派2代B型OpenWrt固件实现无线路由器及nodogsplash认证功能

    最终功能: 无线路由器的主要功能,网口WAN接入,USB无线网卡AP热点输出,连上wifi之后跳转到认证页面,点击认证方可上网,有效时间10分钟,认证成功之后自动访问指定网址. 文章结尾有编译好的刷机 ...

  3. 转:小白编译openwrt固件教程

    原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置.   安装ubuntu, ...

  4. 使用 OpenWrt Image Generator 为 WR703N 路由器定制固件

    标题:使用 OpenWrt Image Generator 为 WR703N 路由器定制固件 之前试着自己编译固件,编译是成功了,但是在后期安装官方仓库的ipk时出现问题,因为自己编译的固件和官方固件 ...

  5. 编译个性化的openwrt固件

    基本流程是:下载openwrt源码(推荐attitude adjustment版本).执行feeds更新.make menuconfig(通过配置feed.conf.default和menuconfi ...

  6. debian下编译openwrt固件

    参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...

  7. OpenWrt固件刷入后串口终端没有反应的问题

    [路由器开发板硬件固件配置] MTK双频:MT7620a + MT7612e 内存:256 MB 闪存:16 MB 固件:MTK自带SDK中的OpenWrt固件(mtksdk-openwrt-2.6. ...

  8. TL-WR703Nv1.7刷写openwrt固件

    TP-LINK TL-WR703N是一个小型的路由器,可以有线转WiFi,3G转WiFi,很多人拿它刷openwrt系统,然后可以在上面各种搞事. V1.7以前 通常刷openwrt的做法是, 下载一 ...

  9. 烧写uboot和openwrt固件ARxx系列

      以AR9331为例. 1.用烧录器将uboot烧写到flash中 (AR9331_U-Boot_Oolite-v1-v20170713.bin) 2.登录:192.168.1.1网页烧写uboot ...

随机推荐

  1. 多校hdu5754(博弈)

    ©此题中在N×M的棋盘中从(1,1)走到(N,M)B先走G后走,谁先到(N,M)谁赢,走法分为4中分别是国际象棋中的国王,车,马,王后的发,在四种走法下谁能赢: 我们依次分析每一种棋子. ①王. 首先 ...

  2. 深入Struts2的过滤器FilterDispatcher--中文乱码及字符编码过滤器

    引用 前几天在论坛上看到一篇帖子,是关于Struts2.0中文乱码的,楼主采用的是spring的字符编码过滤器(CharacterEncodingFilter)统一编码为GBK,前台提交表单数据到Ac ...

  3. 算法总结之 最大值减去最小值或等于num的子数组数量

    给定数组arr和整数num,共返回有多少个子数组满足  <= num 数组长度N    时间复杂度O(N) package TT; import java.util.LinkedList; pu ...

  4. MapReduce-输入分片与记录

    一个输入分片(split)就是一个由单个map操作来处理的输入块.每一个map操作只处理一个输入分片.每个分片被划分为若干个记录,每条记录就是一个键值对,map一个接一个地处理记录.输入分片和记录都是 ...

  5. CSS3的transform属性

    CSS3的一些属性可能比较新,有一些书从国外翻译到国内的时间上会延缓1-2年.所以有一些东西还需要及时整理. 下面说一下CSS3的一个属性:transform 其实字面上的意思已经很明显了就是变化,变 ...

  6. Maven基础配置

    重要网址 Maven主页:http://maven.apache.org/ Maven central repository:http://search.maven.org/ Maven aliyun ...

  7. Hibernate中使用Spring Data JPA

    一.配置文件的方式 1.pom.xml中引入相关依赖 <properties> <project.build.sourceEncoding>UTF-8</project. ...

  8. nodeJs爬虫小程序练习

    //爬虫小程序 var express = require('express'); //superagent是一个http的库,可以发起get和post请求 var superagent = requ ...

  9. Spring使用proxool连接池 管理数据源

    一.Proxool连接池简介及其配置属性概述 Proxool是一种Java数据库连接池技术.是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控 ...

  10. oracle decode函数 和 case when

    1.oracle decode分支函数 select decode(to_char(B.LQSJ, 'hh24:mi:ss'), '00:00:00', to_char(B.LQSJ, 'yyyy-m ...