|
本帖最后由 yunyu0001 于 2014-8-23 19:25 编辑
(已修复错误,并测试完成)
写在前面的话:手上有一台TP-WR2041N-V1版的三天线450M路由器,硬件配置:AR9344+AR9381芯片,4M闪存,64M内存,(同TP-wr-941n-v6)一直想用OP系统,可是在网上找来找去也找不到一个合适的,不是从941n改过来的,就是从wdr3500改过来的,里面的软件改得乱七八糟,一点也不稳定。想自己编译可是在openwrt里没有这个型号,没办法只好在网上找资料,结果在某宝上找到有人卖这个固件,5元钱一份。。。。把一个开源的项目变成自己挣钱的渠道了,{:soso_e148:}。。。但是形势比人强啊,人家手里有货,你又想要,只能付费喽,然后就拿到了他所谓的固件刷了,然后发现是wdr3500的,无线很弱不说,而且一点儿都不稳定,很生气,很生气,{:soso_e111:},继续在网上找资料,终于让我找到了一篇帖子https://www.right.com.cn/forum/thread-100342-1-1.html,从这篇帖子里我学到了很多东西,用了两天时间,修改了很多次,重新编译了不下10次,终于让我成功了!{:soso_e130:}本来都懒得写这篇贴子了,但是本着开源的精神,我必须把自己的一点心得和经验拿出来晒晒,有写得不对的地方请大家指出来,好了,废话有点儿多了,这就开始吧。
以下的教程是基于https://www.right.com.cn/forum/thread-100342-1-1.html这篇贴子写的,请先把它读完有了一个基本印象后再读本贴,本贴只说修改过程中最容易出问题的地方。
看完之前的贴子会知道,最重要的部分就是修改610-MIPS-ath79-openwrt-machines.patch这个补丁文件了,我在这里整整卡了一天,因为是小白,一开始不知道是哪里出了问题,查了好多资料后才知道原来按照原贴中的方法是很早之前的了,在那之后openwrt又更新了很多的补丁文件,原贴中修改后的补丁文件在打补丁的过程中发生的位移,也就是说和后面的补丁文件发生的冲突,为了解决这个问题,我又去查资料思考了如何制作一个补丁。。。。汗。。。。最后证明我的这个办法是最正确也最不容易出问题的方法,下面讲步骤:
第一步:搭建一个openwrt编译环境并更新的最新版本(方法论坛里找)
第二步:随便编译一个固件。。。记住是随便一个型号的固件都行,最好是TP型的吧。(在原贴中我们知道这个补丁文件一共需要修改machtypes.h,Kconfig,Makefile这3个文件,这一步的目的就是生成最新版openwrt下打过补丁后的文件,做为修改的基础。)
第三步:在openwrt文夹下新建两个文件夹分别命名为a和b,分别在a和b文件夹下建立arch文件夹,在arch下建立mips文件夹,在mips文件夹下建立ath79文件夹,形成/arch/mips/ath79/路径。(不要问我为什么,我虽然理解了,但是一句两句又说不清楚,照做就好。写得够直白了吧,大神别骂。)
第四步:在/home/xxx/openwrt/trunk/build_dir/target-mips_34kc_uClibc-x.x.xx.x/linux-ar71xx_generic/linux-x.xx.xx/arch/mips/ath79/下找到machtypes.h,Kconfig,Makefile这三个文件。
第五步:把machtypes.h,Kconfig,Makefile这三个文件分别复制到第三步所建的a和b两个文件夹下的ath79文件夹下。
第六步:按照原贴中的修改patch文件的办法修改a文件夹下的这三个文件。注意,虽然WR941N的固件可以在WR2041N上用,但是如果用WR941N的文件修改成WR2041N的话,就是一个坑啊,坑了我三天。。。。。我用得是WDR3500的文件又改了一回(一定是a文件夹下啊)
第七步:修改完成后进入终端,如果你的a和b文件夹是在openwrt文件夹下建立的,那么就cd openwrt进入openwrt路径下,输入命令:diff -Nur a/arch/mips/ath79 b/arch/mips/ath79 > xxx.patch然后在openwrt下就会发现生成了一个XXX.patch文件。这样一个新的补丁就生成了。
第八步:把这个XXX.patch文件复制到/home/xxx/openwrt/trunk/target/linux/ar71xx/patches-x.xx/下,并且重命名为xxx-MIPS-ath79-enable-UART-function.patch(重命名的时候要注意看mips-ath79这种命名方式的文件最大数字是多少,比如我的机器最大的是725-MIPS-ath79-enable-UART-function.patch,所以我就把新的补丁命名为726了。只能大,不能小。)
以上就是我的经验了,其它的步骤按照原贴中的来就好了,它说的很清楚了,下面附上我新编译的wr2041n-v1版的固件(只加了QOS功能,因为我只需要这个)和我修改过的所有文件,有需要的可以直接拿去用了。
修改后的文件和固件下载地址:http://pan.baidu.com/s/1c0b7OR2
注意:固件编译完成并测试,原厂固件可直刷,本固件头20410001,请有不死BOOT的朋友测试,变砖概不负责。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|