找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 2174|回复: 2

[R4A] 小米4A千兆版编译32M固件(成功版)

[复制链接]
发表于 2025-5-25 13:57 | 显示全部楼层 |阅读模式
本帖最后由 v905380353 于 2025-5-25 13:57 编辑

这几天搞编译32M固件真是要吐血,资料难找,deepseek也不太聪明,虽然有些地方可以参考,但总是给出别的建议混淆过程,老是给我建议其他分区要怎么怎么分,搞得我是一个头两个大

编辑之前发现有个帖子可以参考,但是我没发现,因为我找的是如何编译32M的固件,哭死~

传送门:
R4A千兆版刷回!步骤在这,反正我成功了,你再砖我也没办法
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=4084308&fromuid=831928
(出处: 恩山无线论坛)

[20210919更新]小米路由4A千兆版LEDE固件_集成快乐上网、内网穿透、KMS、网络加速
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=4054821&fromuid=831928
(出处: 恩山无线论坛)


分享小米R4A千兆版编译OPENWRT(Breed直刷版)
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=4052254&fromuid=831928
(出处: 恩山无线论坛)


先说明:本贴只是记录贴,亲测编译出来的固件可以让1代小米4A千兆版路由器刷写并正常启动

必须是32M的闪存

准备材料:
1.一代小米4A千兆版
2.32M闪存,型号:MX25L25645GM2I-10G
3.breed-mt7621-pbr-m1.bin文件
4.基于LEDE的固件源码(2025年5月25日)

步骤:
1、将breed-mt7621-pbr-m1.bin内容刷写到32M闪存中,
     注意:
         - 不能用路由器本来的16M闪存刷写过Breed后备份出来的文件
         - 小米官方固件没测试过
         - NeoProgrammer不支持大容量闪存,可以用AsProgrammer
         - 用AsProgrammer会检测不到MX25L25645GM2I-10G这个型号,可以选MX25L25635E,刷写成功后Breed也会显示MX25L25635E
2、编译固件只需要改两个地方
         -  ./lede/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi 这个文件是通过观察同目录mt7621_xiaomi_mi-router-4a-gigabit.dts 找到的,分区信息都在mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
         -  ./lede/target/linux/ramips/image/mt7621.mk  这个文件是控制生成固件大小的,不改也没关系,只是生成的固件大小不能超过默认14.5M,如果超过则不会生成squashfs-sysupgrade的固件
3、修改mt7621_xiaomi_mi-router-4a-3g-v2.dtsi的分区信息
默认的:

修改后的:


默认的firmware大小是0xe80000,换算成10进制后是15204352,再除以1024=14848,刚好与mt7621.mk中的IMAGE_SIZE一致(参考步骤4)
修改后的firmware大小是0x1fb0000,换算成10进制后是33226752, 再除以1024=32448,需要把32448替换掉14848
这里再科普一下,防止忘记了之后看不懂
- partition@0表示从第一个分区从内存的起始位置开始,改了内存位置后,@后面的值要同步更改,我也不知道能不能按顺序标记,没试过,原来默认的分区信息也是这样写的
- label是分区名称
- reg的第一个值表示分区在内存中的起始位置,第二个值表示分区大小
- read-only表示只读
- compatible保持默认,我也不知道是啥
- 在partition@xxx之前加了factory(这当做是标签)是为了给其他地方引用的,在改factory一定要加上这个标签,否则编译报错
- 0x10000 换算成大小单位后是64K
- 0x100000以下可以先相加后再除以10000,再乘以64就可以获得实际的大小,
- 0x100000(包含)以上要另外计算
- 总的来说,整个分区信息计算后要<=闪存的容量

4、修改mt7621.mk的IMAGE_SIZE,这里是限制生成squashfs-sysupgrade固件大小的
默认的

修改后的


以上改完后就可以按照LEDE源码编译的步骤进行了








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-9-8 19:02 | 显示全部楼层
兄弟你的32M固件能否发我一份。我这环境不行。一直下载不了环境
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-1-7 23:53 | 显示全部楼层
解决5G信号最高只能设置3dbm的问题

参考:关于R4A(Breed)刷完Openwrt 无限重启问题5G信号弱
https://www.right.com.cn/FORUM/forum.php?mod=viewthread&tid=8298740&fromuid=831928
(出处: 恩山无线论坛)

1.路由器进入Breed模式
2.window打开cmd.命令是 telnet 192.168.1.1
3.使用HFS架设web服务(web服务的地址就是电脑连接路由器(Breed模式下)会自动分配的地址,一般是192.168.1.2,如果分配到其他地址192.168.1.x,请用这个192.168.1.x)

4.在cmd窗口输入命令:wget http://192.168.1.2/4a-eeprom.bin,回车后会得到EEPROM文件在内存中的临时地址:0x80001000(用于写入factory区域,见第6步)


5.擦除factory区域,执行命令:flash erase 0x40000 0x10000
这条命令仅适用于本帖指导编译的32M固件

6.将eeprom.bin写入factory区域,执行命令:flash write 0x40000 0x80001000 0x10000
这条命令仅适用于本帖指导编译的32M固件

7.浏览器打开Breed控制台,点击重启按钮,重启路由器

完成!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 21:18

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表