原帖地址:https://www.right.com.cn/forum/thread-4052254-1-1.html
众多周知,小米R4A千兆版与小米R3G V2在硬件上是一样的,但使用coolsnowwolf编译出来的R3G V2或者R4A固件如果用Breed刷进是无法引导进入系统的;
如果要编译出可以用breed能引导的固件需要修改源码,方法很简单,WR1200JS的硬件与小米R4A的硬件基本上一致,因此参考WR1200JS的源码我们很容易就能编译出R4A可直接使用的固件,方法如下
1. git clone coolsnowwolf的源码
git clone https://github.com/coolsnowwolf/lede.git
2. 修改分区信息
定位源码目录,并找到以下目录lede/target/linux/ramips/dts/
,找到mt7621_youhua_wr1200js.dts
文件,拷贝其分区信息。
替换mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
文件中的分区信息。注意:R3G V2或者R4A都只需要修改这一个文件,因为R4A引用了R3G V2的文件
首先备份mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
文件,然后修改mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
文件中的分区信息
3.修改闪存大小
定位源码目录,并找到以下目录lede/target/linux/ramips/image
,找到mt7621.mk
文件,搜索youhua_wr1200js
,复制IMAGE_SIZE
的属性值,16064k
替换R3G V2的闪存大小
搜索3g-v2
替换IMAGE_SIZE
的属性值。
替换R4A 千兆的闪存大小
搜索4a-
替换IMAGE_SIZE
的属性值。
至此R4A修改源码修改已经完成,之前后就可以进行固件定制编译了。
注意:由于R4A的闪存才16M,而coolsnowwolf的源码make menuconfig就算一修改任何东西 ,默认也会选择了一些app;
最后把默认的一些APP删除,不编译进固件,那就不会在生成固件是报固件太大而无法生成sysupgrade固件。
4.编译提示 bash:po2lmo: command not found
在第一次编译的时候容易出现,解决方法是手动使用单线程编译 luci-base ,然后再继续编译(这个问题的出现比较玄学,大概率是编译顺序的原因)
make package/feeds/luci/luci-base/compile -j1 V=99