京东云鲁班RE-CP-02 eMMC版免TTL刷OpenWrt25.12.5并扩容eMMC宝宝教程


参考文献与下载地址(请先看这里)
1.最重要的原始参考教程
本教程最主要参考并扩展自恩山无线论坛下面这篇帖子:
这篇是本文的核心参考来源。原帖面向JDCOS r4310,包含浏览器Console开启Telnet、写入第三方U-Boot、刷OpenWrt25.12以及eMMC扩容等主线步骤。
本文是在实际设备上对原帖进行复现和修正后的结果:
原帖环境:RE-CP-02、JDCOS r4310、OpenWrt25.12.4、eMMC全盘重分区
本文实测:RE-CP-02、JDCOS r4027、OpenWrt25.12.5、仅使用原有p4做extroot
本文实际确认:原帖的Telnet命令注入路线也可以在本机JDCOS-4.0.0.r4027的64GBeMMC版本上使用。
2.其他恩山参考帖子
-
eMMC版京东云鲁班JDCloud RE-CP-02最新ImmortalWrt24.10.3
用于核对eMMC版本和MMC驱动差异。帖子记录了部分固件因MMC驱动选择不合适而无法启动的问题。 -
京东鲁班RE-CP-02刷OP交流
楼主设备为r4027,记录了使用Snapshot固件时软件源、存储挂载异常,以及改用OpenWrt官方稳定版后正常使用的经验。 -
绿色主板+板载江波龙eMMC鲁班AX1800的TTL进入控制台参考
与本文绿色主板、板载eMMC硬件形态接近,作为免TTL失败或救砖时的串口参考。 -
JDCOS-4.0.0.r4027开启SSH历史讨论
用于了解r4027早期只能拆机或串口处理的历史背景;本文采用的是后来公开的浏览器Console命令注入路线。
3.其他教程与资料
-
博客园:RE-CP-02刷机OpenWrt25.12笔记
包含U-Boot文件名、TFTP/TTL备用路线、文件资源包和OpenWrt25.12刷机经验。 -
什么值得买:京东鲁班云刷OP固件
作为早期刷机和恢复路线的补充参考。 -
Telnet脚本参考发布者B站主页
原参考PDF中注明该脚本来自网络并引用了此主页。脚本真实首发来源可能存在多次转载,建议自行溯源。
4.必须下载的刷机文件
4.1OpenWrt官方固件
- OpenWrt Firmware Selector:JD-Cloud RE-CP-02/25.12.5
- OpenWrt25.12.5官方sysupgrade固件直链
- OpenWrt25.12.5 ramips/mt7621官方SHA256清单
本文最终成功刷入的文件应为:
openwrt-25.12.5-ramips-mt7621-jdcloud_re-cp-02-squashfs-sysupgrade.bin
必须确认文件名中同时包含:
ramips
mt7621
jdcloud_re-cp-02
squashfs-sysupgrade
不要选择:
Snapshot
其他京东云型号
initramfs-kernel.bin
第三方“自用”固件
25.12.0-rc2测试固件
本机实测:这个第三方U-Boot的网页Recovery页面应直接上传官方
squashfs-sysupgrade.bin。上传initramfs-kernel.bin虽然会显示成功,但正常启动后仍会回到Recovery页面。
4.2第三方U-Boot和原教程工具包
本文实际使用:
文件名:u-boot-mt7621-68.bin
大小:229146字节
SHA256:805E6FCA1CB553C19A1F227B506D2DCBC2DC1A9ED95C3F14373FAE42DD4A203B
这个U-Boot不是OpenWrt官方文件。刷写前必须同时核对文件名、大小和SHA256;任何一项不同都不要写入mtd0。
5.电脑端工具下载
正常免TTL路线建议准备:
TTL、TFTP或救砖备用工具:
Windows10/11自带的PowerShell、scp和ssh通常已经足够完成本文主线步骤,不一定需要安装全部工具。
6.OpenWrt官方文档
链接失效说明:OpenWrt官方链接通常长期有效;恩山隐藏内容可能要求登录和回复;夸克网盘属于第三方分享,可能失效。即使网盘文件名相同,也必须使用本文给出的大小和SHA256重新核对。
实测环境
- 设备:京东云无线宝鲁班AX1800,型号
RE-CP-02- 主板:绿色主板
- 存储:FORESEE
FSEI.ASLD-64G,板载64GBeMMC- 原厂系统:
JDCOS-4.0.0.r4027- 最终系统:
OpenWrt25.12.5- 最终存储:
/dev/mmcblk0p4挂载为/overlay,可用空间约53.2GB- 刷机方式:浏览器Console开启Telnet,不使用USB-TTL
- 实测时间:2026年7月
一、这篇教程和原参考教程的关系
原参考教程是:
鲁班(RE-CP-02 r4310)刷机OpenWrt25.12与eMMC全量扩容
本次实际设备是:
JDCOS-4.0.0.r4027
最终实测结果:
r4310教程中的Telnet命令注入路线
在本机r4027 eMMC版上可以使用
因此可以确认:
这条路线不仅适用于原文的r4310,本机实测也适用于JDCOS-4.0.0.r4027的eMMC版本。
但不能理解成所有批次都100%通用。继续操作前必须核对:
设备型号是否为RE-CP-02
mtd0是否为Bootloader
mtd2是否为Factory
eMMC是否为约57.1GB的mmcblk0
第三方U-Boot文件是否与本教程完全一致
二、最终成功状态
本机最终输出如下:
OpenWrt 25.12.5
/dev/mmcblk0p4 on /overlay type ext4 (rw,noatime)
Filesystem Size Used Available
overlayfs:/overlay 53.3G 5.7M 53.2G
启动日志包含:
mmcblk0: mmc0:0001 SLD64G 57.1 GiB
EXT4-fs (mmcblk0p4): mounted filesystem
mount_root: switched to extroot
这说明:
OpenWrt固件位于SPIFlash
64GBeMMC中的p4作为大容量/overlay
三、准备工作
3.1需要的设备
Windows电脑
网线
鲁班原装电源
浏览器
PowerShell
PuTTY或MobaXterm
不需要:
USB-TTL
编程器
TF卡
读卡器
但如果第三方U-Boot写坏,TTL通常也无法直接救回Bootloader,仍可能需要SPI编程器,所以备份不能省。
3.2刷机文件
本次实际使用的第三方U-Boot:
文件名:
u-boot-mt7621-68.bin
大小:
229146字节
SHA256:
805E6FCA1CB553C19A1F227B506D2DCBC2DC1A9ED95C3F14373FAE42DD4A203B
这个文件不是OpenWrt官方文件,必须确认来自可信的原教程资源包。
正式OpenWrt固件应从OpenWrt官方Firmware Selector下载:
Model:JD-Cloud RE-CP-02
Target:ramips/mt7621
Version:25.12.5
需要的文件:
openwrt-25.12.5-ramips-mt7621-jdcloud_re-cp-02-squashfs-sysupgrade.bin
不要刷:
initramfs-kernel.bin
25.12.0-rc2测试版
“自用”第三方版本
其他京东云型号固件
TF卡版恢复镜像
JDCOS.bin
本机实测:将
initramfs-kernel.bin上传到这个第三方U-Boot恢复页后,虽然页面显示Upgrade successfully!,但正常启动后仍返回Recovery。
最终直接上传官方squashfs-sysupgrade.bin才成功启动OpenWrt。
四、开启原厂Telnet
4.1接线
电脑网口——鲁班LAN口
鲁班WAN口暂时不接
访问:
http://192.168.68.1
登录JDCOS后台。
4.2打开浏览器Console
按:
F12
进入:
Console/控制台
完整复制下面脚本并回车:
(async () => {
const session = document.cookie
.split('; ')
.find(x => x.startsWith('sessionid='))
?.split('=')[1];
if (!session) {
throw new Error('没有找到sessionid,请先登录路由器后台。');
}
async function runCommand(command) {
const response = await fetch('/jdcapi', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
jsonrpc: '2.0',
id: Date.now(),
method: 'call',
params: [
session,
'jdcapi.static',
'set_port_forward',
{
'on-off': 1,
name: 't1',
proto: 'TCP',
'src-dport': `1234;\`${command}\``,
ipaddr: '192.168.1.100',
'dest-port': '80',
edit: 1
}
]
})
});
console.log(command, response.status, await response.text());
}
await runCommand('factory_hm info telnet 1');
await runCommand('telnetd');
alert('命令已发送,现在测试192.168.68.1的23端口。');
})();
4.3测试Telnet端口
PowerShell执行:
Test-NetConnection 192.168.68.1 -Port 23
成功应看到:
TcpTestSucceeded : True
然后使用PuTTY或MobaXterm:
协议:Telnet
地址:192.168.68.1
端口:23
用户名:root
密码:原厂路由器管理密码
五、刷机前只读检查
进入Telnet后先执行:
uname -a
cat /proc/mtd
lsblk
fdisk -l /dev/mmcblk0
df -h
5.1正确的SPIFlash布局
本机实际布局:
mtd0: 00040000 00010000 "Bootloader"
mtd1: 00010000 00010000 "Config"
mtd2: 00040000 00010000 "Factory"
mtd3: 00f70000 00010000 "firmware"
mtd4: 003c0000 00010000 "kernel"
mtd5: 00bb0000 00010000 "rootfs"
mtd6: 000d0000 00010000 "rootfs_data"
重点:
mtd0=Bootloader,256KB
mtd2=Factory,256KB
如果你的编号或名称不同,停止操作。
5.2正确的eMMC布局
本机实际结构:
mmcblk0 57.1G
├─mmcblk0p1 100M
├─mmcblk0p2 100M
├─mmcblk0p3 1G
├─mmcblk0p4 54.4G
├─mmcblk0p5 512M
└─mmcblk0p6 1G
确认:
mmcblk0约57.1GB
mmcblk0p4约54.4GB
六、完整备份
没有把备份传回电脑并验证Hash前,禁止执行任何mtd write。
6.1创建备份目录
本机原厂p4挂载在:
/mnt/mmcblk0p4
执行:
BACKUP="/mnt/mmcblk0p4/re_cp_02_backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP"
echo "$BACKUP"
6.2备份全部MTD分区
dd if=/dev/mtd0 of="$BACKUP/mtd0_Bootloader.bin" bs=64K
dd if=/dev/mtd1 of="$BACKUP/mtd1_Config.bin" bs=64K
dd if=/dev/mtd2 of="$BACKUP/mtd2_Factory.bin" bs=64K
dd if=/dev/mtd3 of="$BACKUP/mtd3_firmware.bin" bs=64K
dd if=/dev/mtd4 of="$BACKUP/mtd4_kernel.bin" bs=64K
dd if=/dev/mtd5 of="$BACKUP/mtd5_rootfs.bin" bs=64K
dd if=/dev/mtd6 of="$BACKUP/mtd6_rootfs_data.bin" bs=64K
sync
检查:
ls -lh "$BACKUP"
其中:
mtd0_Bootloader.bin应为262144字节
mtd2_Factory.bin应为262144字节
6.3备份eMMC前部原厂区域
原PDF使用:
dd if=/dev/mmcblk0 of="$BACKUP/emmc_before_p4.img" bs=512 count=2508800 conv=fsync
这会进行250万次小块读写,非常慢。
本机改用完全等价的大块命令:
dd if=/dev/mmcblk0 \
of="$BACKUP/emmc_before_p4.img" \
bs=1048576 \
count=1225 \
conv=fsync
两条命令的总字节数完全相同:
512×2508800
=
1048576×1225
=
1284505600字节
完成后检查:
stat -c '%n %s bytes' "$BACKUP/emmc_before_p4.img"
应为:
1284505600 bytes
6.4生成SHA256
cd "$BACKUP"
sha256sum \
mtd0_Bootloader.bin \
mtd1_Config.bin \
mtd2_Factory.bin \
mtd3_firmware.bin \
mtd4_kernel.bin \
mtd5_rootfs.bin \
mtd6_rootfs_data.bin \
emmc_before_p4.img \
> SHA256SUMS.txt
sync
cat SHA256SUMS.txt
6.5使用SCP复制回Windows
原厂系统中启动Dropbear:
/usr/sbin/dropbear -R -p 22
Windows PowerShell执行:
cd $env:USERPROFILE\Desktop
scp -r root@192.168.68.1:/mnt/mmcblk0p4/re_cp_02_backup_日期时间 .
本机实测传输速度约:
4MB/s
属于正常速度。
Windows端至少确认:
mtd0_Bootloader.bin
mtd2_Factory.bin
emmc_before_p4.img
SHA256SUMS.txt
并逐个核对SHA256全部为OK。
七、写入第三方U-Boot
7.1上传U-Boot到路由器
PowerShell执行:
scp "C:\你的路径\u-boot-mt7621-68.bin" root@192.168.68.1:/tmp/
路由器执行:
wc -c /tmp/u-boot-mt7621-68.bin
sha256sum /tmp/u-boot-mt7621-68.bin
本机正确值:
大小:229146
SHA256:
805e6fca1cb553c19a1f227b506d2dcbc2dc1a9ed95c3f14373fae42dd4a203b
7.2写入mtd0
确认所有备份已在电脑后执行:
mtd write /tmp/u-boot-mt7621-68.bin /dev/mtd0
sync
注意:
正确:/dev/mtd0
错误:/dev/mtd2
mtd2是Factory,绝对不能写。
7.3读回校验
head -c 229146 /dev/mtd0 > /tmp/u-boot-readback.bin
sha256sum \
/tmp/u-boot-mt7621-68.bin \
/tmp/u-boot-readback.bin
两个Hash必须一致。
再执行:
cmp /tmp/u-boot-mt7621-68.bin /tmp/u-boot-readback.bin \
&& echo "U-Boot读回一致,可以重启" \
|| echo "U-Boot读回不一致,禁止重启"
必须看到:
U-Boot读回一致,可以重启
八、进入U-BootRecovery页面
电脑有线网卡设置:
IP:192.168.68.2
掩码:255.255.255.0
网关:留空
DNS:留空
关闭:
Wi-Fi
ZeroTier
VPN
系统代理
路由器:
断电
按住Joy键
插电
继续按住5-10秒
浏览器访问:
http://192.168.68.1/
第一次如果只显示:
MediaTek U-Boot System Recovery Mode
Page not found
刷新根页面即可。
正常页面应显示:
MediaTek U-Boot System Recovery Mode
Firmware Image
选择文件
九、刷入OpenWrt25.12.5
选择官方文件:
openwrt-25.12.5-ramips-mt7621-jdcloud_re-cp-02-squashfs-sysupgrade.bin
不要选择:
initramfs-kernel.bin
u-boot-mt7621-68.bin
JDCOS.bin
看到:
Upgrade successfully!
以后继续等待5分钟,不刷新、不拔电。
然后:
拔电
等待10秒
不要按Joy或Reset
正常上电
等待3-5分钟
电脑网卡改为:
IP:192.168.1.2
掩码:255.255.255.0
访问:
http://192.168.1.1
初次登录:
用户名:root
密码:留空
登录后立即设置root密码。
十、给OpenWrt联网并安装中文
连接方式:
上游主路由LAN口——鲁班WAN口
电脑——鲁班LAN口
WAN接口根据实际网络配置:
DHCP客户端
或
静态地址
或
PPPoE
本机使用静态WAN地址后成功执行:
apk update
OpenWrt25.12改用apk包管理器。
安装中文:
apk add luci-i18n-base-zh-cn
然后进入:
系统→系统→语言和界面
选择:
简体中文
十一、将eMMC的p4挂载为大容量/overlay
11.1为什么不照原PDF删除p1-p6
原PDF方案会删除eMMC上的全部分区,再建立一个57GB大分区。
本机采用更安全的方案:
保留p1、p2、p3、p5、p6
只格式化原有54.4GB的p4
将p4挂载为/overlay
相比全盘重分区,只少约2.7GB,却显著降低风险。
11.2初始检查
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
block info
df -h
mount | grep mmcblk0
本机初始状态:
/dev/mtdblock6 on /overlay
overlay只有7.7MB
mmcblk0p4为54.4GB ext4
p4未挂载
11.3安装工具
apk update
apk add e2fsprogs kmod-fs-ext4 block-mount
11.4格式化p4
此步骤会清空eMMC中的原厂大数据分区和路由器上的备份副本。
确保备份已经传回电脑并通过Hash验证。
umount /dev/mmcblk0p4 2>/dev/null || true
mkfs.ext4 -F -L overlay -m 0 /dev/mmcblk0p4
本机生成的新UUID:
86102a9d-3be8-468a-b796-0e8924d14941
其他设备的UUID会不同,必须用自己机器的值。
查看:
block info /dev/mmcblk0p4
11.5配置fstab
先获取自己的UUID:
UUID="$(block info /dev/mmcblk0p4 | sed -n 's/.*UUID="\([^"]*\)".*/\1/p')"
echo "$UUID"
写入:
uci -q delete fstab.overlay
uci set fstab.overlay='mount'
uci set fstab.overlay.uuid="$UUID"
uci set fstab.overlay.target='/overlay'
uci set fstab.overlay.fstype='ext4'
uci set fstab.overlay.options='rw,noatime'
uci set fstab.overlay.enabled='1'
uci set fstab.overlay.check_fs='1'
uci commit fstab
uci show fstab.overlay
11.6复制当前overlay
mkdir -p /mnt/emmc
mount /dev/mmcblk0p4 /mnt/emmc
tar -C /overlay -cpf - . | tar -C /mnt/emmc -xpf -
sync
检查:
ls -la /mnt/emmc
cat /mnt/emmc/upper/etc/config/fstab
du -sh /overlay
du -sh /mnt/emmc
正常会看到:
upper
work
lost+found
卸载并重启:
umount /mnt/emmc
sync
reboot
11.7验证extroot
重启后执行:
mount | grep -E 'mmcblk0p4| /overlay '
df -h /
df -h /overlay
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS
本机成功结果:
/dev/mmcblk0p4 on /overlay type ext4 (rw,noatime)
overlayfs:/overlay 53.3G
/dev/mmcblk0p4 53.3G
日志:
logread | grep -Ei 'extroot|overlay|mmc|ext4|mount|fail|error'
本机关键成功行:
mmcblk0: mmc0:0001 SLD64G 57.1 GiB
EXT4-fs (mmcblk0p4): mounted filesystem
mount_root: switched to extroot
启动早期出现若干mtk-msdc host->error探测警告,但后续成功识别eMMC并切换extroot,所以本机不影响使用。
十二、重启稳定性测试
创建测试文件:
echo "eMMC overlay OK $(date)" > /root/EMMC_OVERLAY_TEST
sync
reboot
重启后:
cat /root/EMMC_OVERLAY_TEST
df -h /
mount | grep mmcblk0p4
建议测试:
至少3次软件reboot
至少2次彻底断电再上电
每次都应满足:
测试文件存在
/dev/mmcblk0p4仍挂载到/overlay
根目录仍为53GB左右
十三、最容易踩的坑
1.误以为是TF卡版
拆机后没有找到TF卡,是因为本机是板载FORESEE64GBeMMC版。
2.把initramfs上传到Recovery
页面可能显示升级成功,但正常启动仍返回Recovery。
本机最终正确操作是:
直接上传官方squashfs-sysupgrade.bin
3.看到Recovery页面显示Page not found
刷新:
http://192.168.68.1/
即可出现上传框。
4.看到Upgrade successfully后马上断电
应继续等待约5分钟,再断电10秒后正常启动。
5.Windows测试流量走ZeroTier
查看Test-NetConnection的:
InterfaceAlias
SourceAddress
刷机期间禁用ZeroTier、Wi-Fi和VPN。
6.dd备份太慢
不要使用:
bs=512 count=2508800
改用等价的:
bs=1048576 count=1225
7.中文语言只有English
先联网,然后安装:
apk update
apk add luci-i18n-base-zh-cn
8.照原PDF删除全部eMMC分区
本机没有必要。只使用原有54.4GB的mmcblk0p4更加安全。
十四、适用范围结论
本教程完整实测成功的组合是:
京东云无线宝鲁班RE-CP-02
绿色主板
FORESEE64GBeMMC
JDCOS-4.0.0.r4027
u-boot-mt7621-68.bin
OpenWrt25.12.5
因此,相比原参考教程:
原教程:JDCOS r4310 → OpenWrt25.12.4
本教程:JDCOS r4027 → OpenWrt25.12.5
可以明确说:
本次实测把原教程的适用范围,从r4310成功扩展到了r4027 eMMC版,并将最终OpenWrt版本更新到了25.12.5。
但教程发布时应注明:
仅在上述硬件和分区布局上实测
第三方U-Boot存在风险
刷机前必须备份Bootloader和Factory
不同主板、存储和固件批次不得盲刷
十五、参考资料说明
本文使用的恩山帖子、原始教程、固件下载地址、工具下载地址和OpenWrt官方文档,已经统一放在文章开头的“参考文献与下载地址”中,便于刷机前集中核对。
其中最重要的主参考来源是:

浙公网安备 33010602011771号