喃小柯站

  • 准备工作
  • 开始操作
  • 1.备份当前路由器的关键分区
  • 2.进入 U-Boot 更新 BL2 和 U-Boot
  • 3.刷入 Kernel 版的 ImmortalWRT
  • 3.启动 initramfs 系统
  • 4.核对当前系统信息
  • 5.清理旧的分区
  • 6.更新固件
  • 首页
  • 关于
  • 友链
  • 开往
  • mTools 小工具
  • 咱的测试笔记
  • RSS Feed
  • https://www.manshaoco.com/mtools/jumpto/coolapk.php
  • https://www.manshaoco.com/mtools/jumpto/bilibili.php
  • GitHub

RAX3000M 更新 U-Boot 以支持 itb 镜像

  • Fotink
  • 2026-10-30
  • 0

两年前购入了 CMCC RAX3000M NAND 路由器,这款基于 MT7981 方案的路由器,性能不差,RAM 有 512M,还有 USB 3.0 接口,在当时属于是夯爆了。拿到手后按照恩山的教程刷入了 H 大的 u-boot,一直刷入的是 .bin 格式的镜像。但随着 ImmortalWRT 24.10 更新,拉取官方代码构建出的镜像格式更新为 .itb,查询后得知,若想使用该格式的镜像更新路由器固件,需要更新底层的 U-Boot 为受支持的版本,因此有了这篇文章。

准备工作

1、确认设备型号(CMCC RAX3000M NAND)
2、下载 1715173329 改版 U-Boot(适用于 RAX3000M NAND 的改版 U-Boot)
3、下载 U-Boot 匹配的 BL2 分区文件(ImmortalWRT 24.10.0 BL2)
4、准备最新的 ImmortalWRT 官方固件(ImmortalWRT RAX3000M)

开始操作

1.备份当前路由器的关键分区

先 ssh 连接到路由器,然后依次执行

df -h /tmp
mkdir -p /tmp/rax3000m-backup
cat /proc/mtd > /tmp/rax3000m-backup/proc-mtd.txt
ubinfo -a > /tmp/rax3000m-backup/ubinfo.txt
cat /proc/cmdline > /tmp/rax3000m-backup/cmdline.txt

dd if=/dev/mtd0 of=/tmp/rax3000m-backup/bl2.bin bs=128k
dd if=/dev/mtd1 of=/tmp/rax3000m-backup/uboot-env.bin bs=128k
dd if=/dev/mtd2 of=/tmp/rax3000m-backup/factory.bin bs=128k
dd if=/dev/mtd3 of=/tmp/rax3000m-backup/fip.bin bs=128k

sysupgrade -b /tmp/rax3000m-backup/kwrt-config.tar.gz
ls -lh /tmp/rax3000m-backup
sha256sum /tmp/rax3000m-backup/*.bin

实机备份四个引导相关文件的大小依次为 1 MiB、512 KiB、2 MiB、2 MiB;dd 记录数分别为 8、4、16、16(每块 128 KiB),无读取报错。

然后再开一个终端标签页,执行下列命令,将备份的文件传输到当前电脑上的用户目录中。注意修改下列 IP 地址为你的路由器地址。

scp -O -r root@192.168.1.1:/tmp/rax3000m-backup .\

2.进入 U-Boot 更新 BL2 和 U-Boot

我按照恩山这位大佬的帖子操作时,发现我当前的 Kwrt 24.10 已经装不上 kmod-mtd-rw 这个模块,且 BL2 和 FIP 分区确实为只读分区。回忆起 U-Boot 本身拥有更新 BL2 和 U-Boot 的功能,因此接下来的更新步骤,将使用 U-Boot 完成更新。
进入 U-Boot 方法:拔掉路由器电源,使用取卡针或回形针,顶住路由器背面侧边的 Reset 孔,然后另一只手插上路由器电源,直至正面指示灯闪烁至绿色常亮后松手。
使用网线连接路由器 LAN → 电脑,电脑配置手动 IPv4,浏览器访问 192.168.1.1,确认能打开 U-Boot 的 Firmware Update 页面。
更新 BL2:打开 192.168.1.1/bl2.html,然后选择下载的 openwrt-24.10.0-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin 文件,上传并更新。
更新后路由器会自动重启,此时可按照进入 U-Boot 方法,再次进入 U-Boot 完成下列步骤。
更新 U-Boot:打开 192.168.1.1/uboot.html,选择下载的 mt7981-cmcc_rax3000m-nand-fip-fit.bin 文件,上传并更新。

3.刷入 Kernel 版的 ImmortalWRT

还是长按 Reset 进入 U-Boot,因为 U-Boot 已经更新为 1715173329 大佬的改版 U-Boot(支持 DHCP),此时进入 U-Boot 时,插上网线直接访问 192.168.1.1 即可,以后也无需再手动配置 IPv4,此时可以将先前设置的手动 IPv4 恢复为系统默认的 DHCP 方式。
此时直接在 U-Boot 模式下更新路由器固件(192.168.1.1),选择 Kernel 版本镜像(从 ImmortalWRT 官方下载的,结尾名称为 initramfs-recovery.itb 的镜像),刷入即可。
此时,如果你发现,更新完毕后,路由器上电就会自动进入 U-Boot,那就说明我这篇文章写的会对你有帮助了,你可以继续按照下列流程走完;如果并不会自动进入 U-Boot,可以按照上面恩山的帖子更新即可。

3.启动 initramfs 系统

重新进入 U-Boot,访问 192.168.1.1/initramfs.html,在此页面上传 Kernel 镜像,然后启动,顺利的话,电脑刷新 192.168.1.1,此时就能进入临时的 ImmortalWRT 了。

4.核对当前系统信息

登录 SSH(root@192.168.1.1),执行:

ubus call system board
mount | grep ' on / '
cat /proc/cmdline
cat /proc/mtd
ubinfo -a

应该看到

board_name: cmcc,rax3000m
rootfs_type: initramfs
kernel: 6.6.73(这里无所谓)
tmpfs on / type tmpfs (rw,relatime)
root=/dev/fit0 rootwait

主要是确认当前的镜像确实是 RAX3000M 的,且当前是以 initramfs 方式运行的临时系统。

5.清理旧的分区

使用电脑重新 ssh 连接到路由器,此时你可能先需要清理电脑上的 known_hosts 文件中的 192.168.1.1 的连接记录,然后运行 ubinfo -a,应该会看到:

ubi0
├── kernel        5.5 MiB      ← 旧卷,问题关键
├── fit          16.3 MiB      ← 新 FIT 镜像卷
└── rootfs_data  85.3 MiB

更新 U-Boot 后重启自动进 U-Boot 的原因:最初旧固件的 UBI 还有 rootfs,但 LuCI 升级后 rootfs 已消失,fit 扩大,rootfs_data 被重建;只有 kernel 保留。但 1715173329 大佬的 FIT 适配要求新布局中不能存在单独的 kernel 卷。因此我们需要手动将 kernel 卷清除。

首先进行只读检查:

cat /sys/class/ubi/ubi0/mtd_num
cat /sys/class/ubi/ubi0_0/name
cat /sys/class/ubi/ubi0_1/name
mount | grep -E 'ubi0_0|ubiblock0_0'
dd if=/dev/ubi0_1 bs=4 count=1 2>/dev/null | od -An -tx1

必须确认 ubi0_0 是 kernel、ubi0_1 是 fit,旧 kernel 卷此时应该是未挂载状态。确认无误后,再执行下列操作:

ubirmvol /dev/ubi0 -N kernel
ubinfo -a
sync
reboot

重启后,即可正常进入 ImmortalWrt。

上述 ubirmvol 删除的是 UBI 内名为 kernel 的旧卷,不是 /dev/mtd 的物理 bl2、fip 或 factory 分区,所以不会影响其他分区数据。

6.更新固件

重启后进入 ImmortalWRT 后,再访问 http://192.168.1.1/,然后再从系统更新中,刷入先前从 ImmortalWRT 官方下载的 sysupgrade.itb 固件即可完成系统更新。



声明:本文使用 知识共享署名 4.0 国际许可协议 [CC BY-NC-SA 4.0] 进行授权

© 2026 喃小柯站
Theme by Wing
鄂ICP备2022008015号-1 鄂公网安备42011202002278号
  • {{ item.name }}
  • {{ item.name }}