我来帮你分析这个 xburn 备份 emmc 报错的问题。先搜索一下社区是否有相关解决方案。
问题结论
这个错误是因为 S100 的 Bootloader 不支持 fastboot 的 fetch 命令,通常由以下原因导致:
- Miniboot 版本不匹配(最常见)
- 备份文件格式错误(.img 需改为 .simg)
- 启动模式配置错误
解决方案
步骤 1:确认系统版本(如果板子还能启动)
# 在板子上执行,记录版本号
cat /etc/version
步骤 2:备份镜像格式转换
如果你已经用 Xburn 备份了镜像,需要重命名:
# Windows 下直接重命名
# 将 rdk_s100_backup.img 改为 rdk_s100_backup.simg
# 或在 Linux 下
mv rdk_s100_backup.img rdk_s100_backup.simg
关键:Xburn 备份的 .img 文件必须改为 .simg 才能被烧录工具识别。
步骤 3:下载对应版本的固件包
从官网下载与备份镜像同一版本的固件:
- 访问:Index of /downloads/os_images/rdk_s100/
- 找到对应版本的
product.zip
步骤 4:使用 D-Navigation 重新烧录
-
断电,配置启动开关:
- eMMC 模式:
[D13:D12]=[0:1] - DFU 模式(救砖):参考官方手册
- eMMC 模式:
-
烧录顺序:
1. 先烧录 Miniboot(从对应版本的 product.zip 中获取) 2. 再烧录你的 .simg 备份镜像 3. 配置启动开关为 eMMC 模式 4. 上电测试 -
使用官方 D-Navigation 工具(不要用 Xburn 直接烧录备份镜像)
步骤 5:串口排查(如果仍失败)
通过串口查看具体报错:
- 波特率:
115200 - 典型报错及含义:
| 串口报错 | 原因 |
|---|---|
ERROR: Firmware training failed |
Miniboot 版本不匹配 |
Unable to find boot device |
启动开关配置错误 |
Partition table corrupted |
镜像备份不完整 |
正确备份方式(下次参考)
推荐方式:使用 dd 命令完整备份磁盘
# 在板子上执行
sudo dd if=/dev/mmcblk0 of=/mnt/usb/rdk_s100_full_backup.img bs=4M status=progress
不要使用 Xburn 的分区备份功能,它可能只备份单个分区而非完整磁盘。
相关资源
需要你补充的信息
如果按上述步骤仍无法解决,请提供:
- 备份前的系统版本(
cat /etc/version) - 烧录时的完整报错日志
- 串口启动日志(如有)
建议将排查过程沉淀到社区,帮助其他遇到类似问题的开发者!