本来是写在另一个主题下面的长回复,后来想想干脆单独发个主题算了,也许有人能用得上。
简单介绍一下我的编译版本的来源:
首先,主要是基于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。
201
debiansid 2014-11-12 17:27:06 +08:00
@mind3x 请问下,如何用image builder,把自己的配置等都弄成一个新的的固件,然后随时可以刷回去?谢谢
|
203
ainopara 2014-11-13 21:09:36 +08:00
@mind3x 今天刷了您百度盘里那个final版本的固件,后来发现官方源里的kmod-fs-hfsplus不兼容,然后就跑去http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/nand/下载了官方的openwrt-ar71xx-nand-wndr4300-squashfs-sysupgrade升级。结果刷了至少30分钟了路由器还是没反应。。想请教一下大神,这个是不是砖了,还有救吗?谢谢!
|
204
ainopara 2014-11-13 22:22:15 +08:00 via iPhone
@mind3x 补充一下,目前这个状态是灯全灭着,电源适配器在响着,说明可能在工作着。插上网线,无法获取到ip地址,自己指定为192.168.1.5后也ping不通192.168.1.1这个地址。不知道openwrt是否为这种情况预留了解决办法?比如按住reset进入恢复模式之类的。
|
205
ainopara 2014-11-13 23:41:05 +08:00
@mind3x 大概搞清楚了,并不是一直在刷固件,而是早就刷好了。只不过刷好后是坏的,不能工作。目前正在靠tftp刷回原厂固件。
|
206
XDA 2014-11-14 09:46:10 +08:00
「barrier-breaker-final_42742」
大大,这个版本稳定了咩? |
207
ainopara 2014-11-14 11:47:02 +08:00
@mind3x tftp回原厂固件会无限重启。。最后又刷了官方的14.07正式版。结果这次虽然可以装上kmod-fs-hfsplus,也成功挂载了移动硬盘,但官方源里竟然没有netatalk,还是没法用作time machine服务器。真是各种折腾。我准备写一个折腾笔记,总结一下wndr4300的刷机经验。
|
212
debiansid 2014-11-14 22:36:17 +08:00
@mind3x 我想自己编译自用的固件,重新svn 14.07已经成功,但是不知道内核打哪些补丁,能否共享下您的补丁列表及文件,这样我每次重新刷,不用配置就可以用了。十分感谢。
|
213
mind3x OP @debiansid 只需要打一个MTD分区的补丁即可,其他的config我已经一起放在我网盘里了。MTD分区的补丁我也传一个到网盘吧,你过五分钟去看。
|
219
magicdog20 2014-11-17 00:00:47 +08:00
新买4300实测了一下可刷,刷回原厂固件没有问题,不像网上说的”改版固件无法刷回原厂“,只是官方固件启动时间太长,大概要3分钟以上,感觉好像不行了,其实稍等一下就可以启动。问题是跟我预计的一样无法使用openwrt官方的软件源安装kmod开头的软件(我安装的是你昨天编译的final版),测试了官方的14.07 rc3和14.07版,均失败,提示无法满足核心版本。不知道是不是我打开的方式不对:-)虽然可以自建软件源,重新编译软件,但总还是有点不方便。不能用官方的ImageBuilder吗?最好有个纯净版,跟官方的一样,其他软件都不用,只是集成96M空间的补丁就行。其他的软件可以自己安装。
|
220
magicdog20 2014-11-17 01:14:18 +08:00
刚刚测试了一下,用官方ImageBuilder完全可以实现100M flash空间利用,同时可安装官方kmod开头的软件。有图有真相:
http://pan.baidu.com/s/1o6FQZSQ 另外附我用官方ImageBuilder编译的BB版4300和3700v4的固件,其他跟官方版一样,只是打了flash扩容补丁和集成了中文luci(没有luci还是不方便啊),注意我只测试了WNDR4300的。 http://pan.baidu.com/s/14eo7G |
221
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升级包吗? |
223
mind3x OP @magicdog20 openwrt设计如此,为了保证兼容,kernel mod必须和image是同一个开发环境编译出来,不同的编译不能互换(但是你也可以强制insmod),我原文里说的不准确。至于你说官方固件已经支持128M flash,我在14.07的log里没找到有对应的修改。你刷的是哪个版本?trunk吗?
|
224
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升级用的,一个是从别的固件刷机用的?这也是我开始的理解,但是看到有些教程提到刷机后要再安装升级包,有点迷惑。 |
226
magicdog20 2014-11-17 19:05:21 +08:00
@mind3x 官方固件还是只有14M,不然我就不发这个帖子了。只是说官方提供的ImageBuilder也可以按照zhouruixi的办法加入扩容补丁。
我也是折腾过从源码编译,但是好像都用不了官方package里的kmod软件,后来看了一篇豆瓣上的贴子才明白。其实ImageBuilder就是一个mini版的编译环境,把官方编译时用的核心和工具链都放到这个环境中,这样用这个ImageBuilder编译出来的固件和官方发布的固件就有完全一样的核心,自然也能通用kmod软件。我没仔细研究过ImageBuider的原理,不过我想应该不是编译,而只是二进制文件打包,所以速度飞快。我觉得对OpenWrt应用者而言,ImageBuilder和SDK完全够用了(SDK类似,是用于编译软件的),核心开发的人才需要用到源码编译。反正我是觉得被网上的帖子误导了,做了很多无用功。 |
227
magicdog20 2014-11-17 19:09:22 +08:00
|
228
blessme 2014-11-17 19:10:25 +08:00
WNDR4300测试楼主43240这个版本5g 无线没有了,上一个版本42742则正常
|
229
magicdog20 2014-11-17 19:16:44 +08:00 1
@thekll 不需要的,sysupdate是用于opwnwrt升级的。网上的说明只能信一半。其实我试过用factory版升级openwrt,也没问题的,只是sysupdate版的一定不能用于官方固件的升级。
|
230
blessme 2014-11-17 19:21:57 +08:00
已搞定, 软重启reboot没搞定,断电硬重启后5G出来了。
|
231
Rabbit52 2014-11-17 21:25:12 +08:00
感谢大神,时间胶囊已启动 :)
|
233
lollxxox 2014-11-18 10:22:36 +08:00
如果我从其他人编译的Openwrt再刷您这个版本,能直接sysupgrade吗?还是要先tftp刷原厂再刷img?
|
234
Rabbit52 2014-11-18 10:49:59 +08:00
|
235
mind3x OP @lollxxox 理论上来说只要是从14.07分支42081以后的版本upgrade上来都应该可以,但因为内置软件包不同可能会有不同的问题。如果不是14.07(Barrier Breaker)分支,最好tftp回去再刷。
|
236
mind3x OP @magicdog20 呃……我前阵子正好也编译过720N给家里人用,感觉你可能是没找到正确的patch。请看 http://www.douban.com/note/378052013/ fqicq大神提供的patch,编译BB一点问题都没有——AA太旧了就算了。
|
237
mind3x OP @magicdog20 我之前没用过,以为ImageBuilder只是重新组合package,不知道可以重编译内核。如果这样的话就方便很多。
|
238
lovesuae 2014-11-18 14:54:37 +08:00
你好,网盘上只提供了3700的config,4300的没有,上传下?
http://pan.baidu.com/s/1qWuLWC0#path=%252Fopenwrt%252FBarrierBreaker-final_43240 |
239
magicdog20 2014-11-18 15:02:50 +08:00
@lovesuae 应该是一样的
|
240
mind3x OP |
241
lovesuae 2014-11-18 15:39:42 +08:00
非常感谢,我是个初学者,想要尝试编译openwrt的固件,求两位大牛帮我入门,我QQ是511364323,求加我,这里交流有点慢
|
242
magicdog20 2014-11-18 22:31:40 +08:00
|
243
magicdog20 2014-11-18 22:48:12 +08:00
@lovesuae 不敢当我也是初学者。你想编译固件有什么明确的目的吗?如果是为了学用linux或者开发openwrt模块,那还是学习一下编译过程吧,最好还是有点unix或linux基础。大部分人只是为了增加点功能,或者说固件里预装一些软件(比如shadowsocks),那么ImageBuilder完全够用,使用很简单,生成固件快(只要几秒)。比如我生成WNDR4300固件,就用了一个命令:
make image PROFILE=WNDR4300 PACKAGES="luci luci-i18n-chinese" FILES=files/ 学用ImageBuilder可以参考: http://wiki.openwrt.org/zh-cn/doc/howto/obtain.firmware.generate http://hi.baidu.com/cokebar/item/bcaa7d02f9fd96f3a0103494 真要折腾从源码编译,我的经历可以参考: http://blog.csdn.net/magicdog2009/article/details/40685191 |
244
owlish 2014-11-19 09:35:56 +08:00
@mind3x
谢谢你的固件,我的3700v4跑得很流畅! 不过现在碰到一个问题,我在按照网上的例子添加ntfs移动硬盘自动挂载的时候,怎么不成功。能够手动mount,但是按照这个帖子http://hi.baidu.com/opwrt/item/cc475e12c8923cf99d778a61配置完系统后,就无法实现自动挂载,移动硬盘拔了插,插了拔,反反复复就是不能自动挂载。 请问,这可能是什么问题? 谢谢! |
245
mind3x OP @owlish 看官方文档设automount http://wiki.openwrt.org/doc/uci/fstab
|
246
rekey 2014-11-20 18:25:01 +08:00
请问3800可以跑么?
|
249
my660 2014-11-21 20:05:04 +08:00
|
250
mind3x OP @my660 抱歉,我也只是在家自用,没有精力测试这样的补丁。我的build文件和patch都一并发布,你可以自己编译试试。
|
252
gcell 2014-12-19 11:58:55 +08:00
@mind3x 最近刷了你的final版本的固件,发现一个问题wlan0作为客户端模式连接到其他ap时,信号会时断时续。经观察是链接速率冲高回落6Mbps——>54Mbps——›130Mbps——›6Mbps——›1Mbps,然后无线断线重连,不断重复上述过程。
dmesg信息提示Deauthenticated reason :15 4-Way Handshake timeout |
253
gcell 2014-12-21 21:35:42 +08:00
@mind3x 接楼上那条,已经找到原因,是信号质量太差的缘故,链接其他信号质量较好的无此问题。真是灯下黑,没注意到竟然是这个问题。解决办法是 iwconfig wlan0 rate auto 可以将链接稳定在较低速率1M,2M,最高5.5Mbps的样子。为了保证链接质量,已经买了中继了,多谢楼主分享这么好用的固件!
|
254
lovehigh 2014-12-21 23:13:29 +08:00
你好,请问下是不是不支持exfat这个文件格式,我挂载了一下,貌似报错了。
|
255
billychow 2014-12-26 16:39:12 +08:00
@mind3x 感谢分享先!我刚刚从 LuCI 更新了你的 BB r43240,升级后发现端口映射还是不能正常工作,而且 rootfs 也没有变成 128M。请问是否不能使用升级方式,必要重刷你的固件才行?
|
256
pwcpp 2014-12-28 15:03:25 +08:00
谢谢lz分享,我的wndr4300刷上BB r43240了,不过有个问题:
我把lan网段默认的ip 192.168.1.1改成了192.168.2.1,然后装了openvpn server供远程的客户端路由器(该路由器内网192.168.1.0)连上来,为了能访问客户端路由器的内网,所以在openvpn的server.conf配置文件了添加了一个指向192.168.1.0/24的静态路由。 运行后客户端路由器能正常连上来,从本地路由器上也可以看到192.168.1.0/24的这条路由(所以可以从本地路由器ping通客户端路由器的内网),但接在本地路由器内网的电脑(192.168.2.x)上却无法看到这条路由,因此也就无法访问客户端路由器的内网192.168.1.y了。 感觉问题出在本地路由器无法推送静态路由到dhcp 客户端所致,刷过别的固件没这问题,不知道现在该怎么处理。 |
257
pwcpp 2014-12-28 21:45:08 +08:00
搞定了,原来防火墙默认禁止端口转发(除了白名单之外的),于是手工添加了一条规则就好了
iptables -A FORWARD -o tun0 -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT |
258
woshiwopa 2015-01-02 21:12:18 +08:00
@mind3x 出现一个问题,r42258刷了之后一直用着很稳定,之前没用5G就把5G给关了,现在再开却怎么也开不起来了……
断电重启都用过了…… |
259
avatasia 2015-01-09 17:14:19 +08:00
楼主, 我的4300,已经刷了官版,但是安装shadowsock的时候出错,然后想安装您提供的版本,结果提示如下错误:
The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform. 请问是怎么回事啊? 多谢啦。 |
261
avatasia 2015-01-09 21:01:49 +08:00
@mind3x 再请教下,我已更新成功,看到里面已经安装了openvn,但是找不到配置的地方,这个该怎么办啊? 多谢啦。
|
263
pwcpp 2015-01-11 15:44:31 +08:00
已经在wndr4300上启用了端口映射,从外网访问内网某台机子的服务没问题,但从内网别的机子访问却不行。端口映射的设置中已勾选端口回流选项(loopback),检查了防火墙也没问题,请问有人遇到一样的情况么?
|
264
pwcpp 2015-01-11 15:49:21 +08:00
于是临时手工添加了一条规则
iptables -t nat -I PREROUTING -s 192.168.1.0/24 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.2:21 然后从比如 192.168.1.5访问“路由器公网ip:21”,路由器上可以抓到数据包,但在192.168.1.2这台机子上抓包没数据,感觉是路由器上的DNAT规则没有生效。 |
266
a007liu 2015-01-17 13:45:59 +08:00
您好 看了楼主文章 貌似写的很不错
最近我也在编译固件 我的想法是 编译一个 Barrier Breaker 官方发布的版本 然后 后续可以使用 官方的kmod 的ipk 这样可行么 ?如果具体的方法是什么呢 可是如何都不成功 编译后 安装仍然不行 我想 知道编译的时候 更新 更新feeds的 时候 是不是 要对应 正式版发布时 feeds版本呢 |
272
awana 2015-01-29 09:19:38 +08:00
@mind3x 请问下,原厂的固件能够实现lan口百兆黄灯、千兆绿灯,openwrt貌似都是绿灯? 怎么设置能实现原厂的效果?
|
273
mind3x OP @awana 这是openwrt默认的设置,配置文件里可以改,我记得luci里好像也有地方可以改,具体的现在没时间帮你搜哈,不好意思
|
274
wujinyi 2015-02-01 21:37:30 +08:00
请问刷完这个有办法加上mentohust拨号锐捷吗? 谢谢
|
275
sagitarr 2015-02-02 15:38:14 +08:00
@mind3x 我目前刷的版本是Chaos Calmer 内带的软件太多 能否直接通过sysupgrade升级到 (barrier breaker)
|
277
zhangweifang 2015-02-03 10:18:16 +08:00
貌似这个版本无法使用vpn啊。难道要单独添加规则么?
|
278
lqzhgood 2015-02-05 12:53:54 +08:00
LZ你好~ 感谢你的固件。
但是我发现 NTFS无法挂载, openwrt 挂载点里面能识别到容量,但是无法挂载,U盘格式化成FAT32可以成功挂载。 求解…… |
280
lovehigh 2015-02-23 20:37:57 +08:00
楼主你好,想请教个问题,我目前使用aria2作为下载工具,USB插U盘,格式化成ext4(exfat挂载不起来=。=),在aria2.conf里将file-allocation设置成falloc,aria2就不能启动。
https://gist.github.com/cc9014/5664da092c6894c32265 我网上查了下,据说需要在编译的时候修改参数,但我不会编译,所以来请教大大能不能实现。 http://www.right.com.cn/FORUM/forum.php?mod=viewthread&tid=146492&highlight=falloc |
282
gamefun 2015-05-08 13:23:42 +08:00
感谢楼主费心编译分享固件!作为脱机下载新手我研究了相关教程和论坛后一直用楼主的固件。最近我的WNDR4300刷新Barrier-breaker-final_43240后,使用Transmission下载一直无法打开51413端口。在防火墙自定义规则添加:
iptables -A INPUT -p udp --dport 51413 -j ACCEPT iptables -A INPUT -p tcp --dport 51413 -j ACCEPT 仍然无法打开51413端口,不知道问题在哪里。请楼主有时间的话指点一下,谢谢! |
283
ddqp 2015-05-09 14:03:18 +08:00
@mind3x 请问可否把 http://pan.baidu.com/s/1qWuLWC0#path=%252Fopenwrt%252FBarrierBreaker-final_43240
对应的SDK上传到百度网盘啊,一直用的你固件,想自己编译几个包,但是有kernel问题所以,一直不行。 打算编译: https://github.com/ravageralpha/my_openwrt_mod,里面的,kmod-fs-exfat |
284
ddqp 2015-05-09 14:08:40 +08:00
自己用官方SDK编译出来的安装会出现如下错,WNDR4300
Installing kmod-fs-exfat (3.10.49+1.2.8-514c362a3a9640d4544337f77adeef735bb7e6f7) to root... Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-exfat: * kernel (= 3.10.49-1-41123e63bc43f61af09d064504300966) * * opkg_install_cmd: Cannot install package kmod-fs-exfat. |
285
lovehigh 2015-05-10 00:28:49 +08:00
和楼上的问题类似。在安装iptables-mod-tproxy时遇到困难。
Installing kmod-ipt-tproxy (3.10.49-1) to root... Installing kmod-ipt-tproxy (3.10.49-1) to root... Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/nand/packages/base/kmod-ipt-tproxy_3.10.49-1_ar71xx.ipk. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ipt-tproxy: * kernel (= 3.10.49-1-41123e63bc43f61af09d064504300966) * * opkg_install_cmd: Cannot install package kmod-ipt-tproxy. |
286
mind3x OP @lovehigh kernel module无法自行编译再insmod到其他人build好的kernel上,只能要么我提前编译好,要么你用我的config自行重编译kernel和module...
|
288
ddqp 2015-05-18 20:54:15 +08:00
|
289
hrct 2016-03-19 17:20:38 +08:00
刷了楼主的固件,里面装的软件从那打开?
|