硬路由 OpenWrt/ImmortalWrt 从 23.05.X 升级到 24.10.Y 流程(CMCC RAX3000M NAND)
BACKGROUND
从24.10开始,OpenWrt不再向硬路由提供 .bin格式(形如immortalwrt-23.05.6-mediatek-filogic-cmcc_rax3000m-nand-ubootmod-squashfs-sysupgrade.bin) ,可供UBOOT方便刷写的固件,用于继任的固件被拆分为如下几个部分 immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2 和 immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP(常被称为UBOOT) 以及仅能运行在内存上,每次重启都会重置的系统immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb KERNEL(该系统仅用于过渡,用于将正式系统 immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb 最终用于日常运行的系统 写入硬盘)。
另外,由于Wrt官方提供的UBOOT无WEB-UI界面,刷机需要另外准备TFTP文件服务器及配置特定IP地址,故笔者更推荐使用了 1715173329@恩山论坛 帖子链接:https://www.right.com.cn/forum/thread-8328967-1-1.html 提供的UBOOT,该UBOOT提供了与旧版UBOOT相同的WEB-UI界面,并能通过DHCP自动下发IP地址,节省了一点点手动配置IP地址的时间,另外更重要的是该UBOOT可直接刷入新版的 .itb格式的固件,免去搭建TFTP文件服务器的麻烦以及其他不可控的因素。
硬件及原系统背景:CMCC RAX3000M NAND(已更换256M ROM 1024M RAM),系统:immortalwrt-23.05.6-mediatek-filogic-cmcc_rax3000m,双分区、大分区UBOOT
Step1 解除MTD写入限制(在原有ImmortalWrt系统上执行)
opkg update #更新软件包列表
opkg install kmod-mtd-rw #安装软件
insmod mtd-rw i_want_a_brick=1 #解除MTD写入限制,注意该项参数重启后会失效,重启需要重新执行
Step2 刷入BL2及FIP分区
使用 MoBaXterm 通过SSH连接到路由器后,将immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin和 mt7981-cmcc_rax3000m-nand-fip-fit.bin 文件上传至 /tmp 目录,使用命令
mtd write /tmp/openwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2 #将preloader刷入BL2(mtd0分区)
mtd verify /tmp/openwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2 #校验镜像是否成功写入,如无意外会提示 success
同样的,使用命令
mtd write /tmp/mt7981-cmcc_rax3000m-nand-fip-fit.bin FIP #将fip刷入FIP(mtd3分区)
mtd verify /tmp/mt7981-cmcc_rax3000m-nand-fip-fit.bin FIP #校验镜像是否成功写入,如无意外会提示 success
以上两个分区都写入成功后,在命令行中使用reboot命令重启路由器后即可通过DHCP获取到UBOOT下发的IP,浏览器中访问 192.168.1.1 即可进入到熟悉的UBOOT界面
Step3 刷入系统
在进入到UBOOT网页界面之后,上传文件 immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb #该文件对应镜像下载页面的KERNEL后直接update写入,写入成功后路由器会自动重启,等待路由器指示灯变成绿色之后,刷新 192.168.1.1 网页,显示路由器登录界面后可直接登录到路由器(无密码),登录后应该可以看到横幅提示”此系统为临时系统···“,跟前文说到的一样,该系统使用的ramfs文件系统,每次重启都会将系统重置成初始状态,无法正常使用;直接去到 系统-备份与升级-刷写新的固件 上传固件 immortalwrt-24.10.3-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb #固件不区分EMMC版本和NAND版本刷写后等待重启即可,至此系统从23.05升级到24.10,enjoy~。
runs smoothly

TAIL
该作者 1715173329@恩山论坛 也提供了大分区(expand)以及原厂(stock)分区的UBOOT。理论上来说,笔者手上的是扩容过ROM到256M的路由器,应该使用大分区的UBOOT,但是对应要更换的还有对应的大分区过渡固件和大分区常规固件,我尝试过刷写常规的原始分区的固件,提示刷写失败,无法刷入。鉴于笔者能力有限,不会编译,故还是使用正常分区的固件了,如果会编译大分区固件的朋友,也可以刷写大分区的UBOOT自行尝试大分区固件。
ref:
固件下载地址:https://firmware-selector.immortalwrt.org/?version=24.10.3&target=mediatek%2Ffilogic&id=cmcc_rax3000m
本文参考:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8417494&highlight=itb
UBOOT:https://www.right.com.cn/forum/thread-8328967-1-1.html
浙公网安备 33010602011771号