分享一下自用的 WNDR3700v4 / WNDR4300 openwrt 14.07 (barrier breaker) RC2 编译

2014-08-18 18:39:04 +08:00
 mind3x

本来是写在另一个主题下面的长回复,后来想想干脆单独发个主题算了,也许有人能用得上。

简单介绍一下我的编译版本的来源:

首先,主要是基于OpenWRT论坛上AdamK编译的版本( https://forum.openwrt.org/viewtopic.php?id=41094 下载在 http://www.mcservices.com.au/downloads/OpenWRT/ ),他在openwrt官方之前就集成了各种WNDR3700v4/4300需要的补丁,并且缺省enable了比较多的package,在14年7月以前他的编译版本一直是最靠谱的。不过他因为生病已经一个多月没有更新了。他的版本目前唯一的缺陷是没有解决3700v4/4300的128M flash全利用的问题,刷完以后可用的只有10几M——当然也基本够用。

后来openwrt论坛上有个叫zhouruixi的基友(一看ID就是同胞,也活跃于恩山)提出来了新的patch解决了128M flash的问题,他也提供了自己编译image的下载。

然后同样是openwrt论坛上的另一名基友Diffie,在AdamK的build基础上,集成了zhouruixi的patch,加了一些他需要的内容(例如XFS文件系统的支持)。Diffie编译的image下载在http://www.blazebox.homeip.net/~diffie/openwrt ,不过今天貌似连接已经失效。

而Diffie修改的版本主要的问题是他使用3.10.52的Linux内核,与官方3.10.49不一致,所以刷了他的image之后无法opkg install安装官方仓库上的内核模块。比如我需要多拨,要用到kmod-macvlan,就只好自己重新编译。

所以我目前用的是在Diffie的build基础上自己编译的版本,改动的地方只有把kernel改回用3.10.49,缺省编译了kmod-macvlan,fastd和n2n(你懂的)。

所以我的build主要内容就是AdamK + zhouruixi + Diffie + 修改kernel版本与主干一致。

我的image,sysupgrade和build config都在百度网盘上共享出来了,有兴趣的基友欢迎自行取用: http://pan.baidu.com/s/1qWuLWC0 当然你不放心的话也可以基于我的config自己重新编译啦~

目前我编译的版本是RC2 42096,只要你的版本是40859之后,应该都已经有sysupgrade支持,可以直接通过sysupgrade升级,无需重刷image。

80415 次点击
所在节点    分享创造
289 条回复
thekll
2014-11-17 14:19:17 +08:00
@mind3x
@magicdog20
一直没搞清楚,从官方的openwrt-ar71xx-nand-wndr4300-ubi-factory.imgs刷机后,必须要再安装openwrt-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar升级包吗?
mind3x
2014-11-17 14:41:09 +08:00
@thekll sysupgrade是已经刷到openwrt之后再刷新版时升级用的,系统配置文件会自动保留
mind3x
2014-11-17 14:44:09 +08:00
@magicdog20 openwrt设计如此,为了保证兼容,kernel mod必须和image是同一个开发环境编译出来,不同的编译不能互换(但是你也可以强制insmod),我原文里说的不准确。至于你说官方固件已经支持128M flash,我在14.07的log里没找到有对应的修改。你刷的是哪个版本?trunk吗?
thekll
2014-11-17 14:59:02 +08:00
@mind3x
就是说如果我从openwrt-ar71xx-nand-wndr4300-ubi-factory.imgs采用tftp刷机后,没必要再马上安装squashfs-sysupgrade.tar,等下次有新版本升级发布时,可以不用再刷机,直接通过squashfs-sysupgrade.tar升级安装就可以了?
换句话说,这两个固件包含的软件包是一样的,只是一个是从openwrt升级用的,一个是从别的固件刷机用的?这也是我开始的理解,但是看到有些教程提到刷机后要再安装升级包,有点迷惑。
mind3x
2014-11-17 15:30:26 +08:00
@thekll 没错。说刷了再装sysupgrade的是胡扯。
magicdog20
2014-11-17 19:05:21 +08:00
@mind3x 官方固件还是只有14M,不然我就不发这个帖子了。只是说官方提供的ImageBuilder也可以按照zhouruixi的办法加入扩容补丁。
我也是折腾过从源码编译,但是好像都用不了官方package里的kmod软件,后来看了一篇豆瓣上的贴子才明白。其实ImageBuilder就是一个mini版的编译环境,把官方编译时用的核心和工具链都放到这个环境中,这样用这个ImageBuilder编译出来的固件和官方发布的固件就有完全一样的核心,自然也能通用kmod软件。我没仔细研究过ImageBuider的原理,不过我想应该不是编译,而只是二进制文件打包,所以速度飞快。我觉得对OpenWrt应用者而言,ImageBuilder和SDK完全够用了(SDK类似,是用于编译软件的),核心开发的人才需要用到源码编译。反正我是觉得被网上的帖子误导了,做了很多无用功。
magicdog20
2014-11-17 19:09:22 +08:00
@mind3x 说起来都是泪,我折腾源码编译折腾了至少一星期,都不好意思见人了:
http://blog.csdn.net/magicdog2009/article/details/40685191
blessme
2014-11-17 19:10:25 +08:00
WNDR4300测试楼主43240这个版本5g 无线没有了,上一个版本42742则正常
magicdog20
2014-11-17 19:16:44 +08:00
@thekll 不需要的,sysupdate是用于opwnwrt升级的。网上的说明只能信一半。其实我试过用factory版升级openwrt,也没问题的,只是sysupdate版的一定不能用于官方固件的升级。
blessme
2014-11-17 19:21:57 +08:00
已搞定, 软重启reboot没搞定,断电硬重启后5G出来了。
Rabbit52
2014-11-17 21:25:12 +08:00
感谢大神,时间胶囊已启动 :)
ayzk
2014-11-18 07:45:05 +08:00
@Rabbit52 怎么配timemachine啊
lollxxox
2014-11-18 10:22:36 +08:00
如果我从其他人编译的Openwrt再刷您这个版本,能直接sysupgrade吗?还是要先tftp刷原厂再刷img?
Rabbit52
2014-11-18 10:49:59 +08:00
mind3x
2014-11-18 11:18:17 +08:00
@lollxxox 理论上来说只要是从14.07分支42081以后的版本upgrade上来都应该可以,但因为内置软件包不同可能会有不同的问题。如果不是14.07(Barrier Breaker)分支,最好tftp回去再刷。
mind3x
2014-11-18 11:23:10 +08:00
@magicdog20 呃……我前阵子正好也编译过720N给家里人用,感觉你可能是没找到正确的patch。请看 http://www.douban.com/note/378052013/ fqicq大神提供的patch,编译BB一点问题都没有——AA太旧了就算了。
mind3x
2014-11-18 11:25:58 +08:00
@magicdog20 我之前没用过,以为ImageBuilder只是重新组合package,不知道可以重编译内核。如果这样的话就方便很多。
lovesuae
2014-11-18 14:54:37 +08:00
你好,网盘上只提供了3700的config,4300的没有,上传下?
http://pan.baidu.com/s/1qWuLWC0#path=%252Fopenwrt%252FBarrierBreaker-final_43240
magicdog20
2014-11-18 15:02:50 +08:00
@lovesuae 应该是一样的
mind3x
2014-11-18 15:21:40 +08:00
@lovesuae
@magicdog20 说的没错,只有一个config,build两套image出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128585

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX