PRIVATE ARTICLE · %E4%BA%9A%E7%91%9F%E4%BA%91%E5%88%B7%E6%9C%BA
亚瑟云刷机
刷机前的准备:
9008 驱动
xshell
1.短接 进入原厂 uboot
这里需要注意使用一键执行的代码需要按两次回车 第二次回车后灯亮的时间快速按下恢复键 时间很短 需要灯亮马上按
2.刷入旧版系统
3.旧版系统开启 ssh
浏览器开启 console 输入
4.备份+刷入大分区
第一步:检查并挂载存储目录å
第二步:执行备份命令
第一步:检查并挂载存储目录
我们需要找个地方来存放备份出来的文件,教程里推荐放在路由器的 storage 分区(即 mmcblk0p27)。
请在 Xshell 里面复制粘贴并按回车运行这个命令来检查 (List,列出目录):
Bash
ls -l /mnt
- 如果你看到了
mmcblk0p27文件夹:说明系统已经自动挂载好了,你可以直接跳到第二步。 - 如果你没有看到这个文件夹:你需要手动创建它并挂载 (Mount,将存储设备接入文件系统)。依次运行下面两行代码:
Bash
mkdir /mnt/mmcblk0p27
mount -t ext4 /dev/mmcblk0p27 /mnt/mmcblk0p27
第二步:执行备份命令
准备好存储目录后,把你教程里的备份命令直接全部复制,然后在 Xshell 里右键粘贴并回车。
注意:dd (Data Duplicator,数据复制工具) 命令在读写闪存时没有任何进度条提示,这期间 Xshell 看起来像卡住了一样,请千万不要关闭窗口或断电,耐心等待它一行一行执行完毕。
Bash
dd if=/dev/mmcblk0 bs=512 count=34 of=/mnt/mmcblk0p27/mmcblk0_GPT.bin conv=fsync
dd if=/dev/mmcblk0p1 of=/mnt/mmcblk0p27/mmcblk0p1_0SBL1.bin conv=fsync
dd if=/dev/mmcblk0p2 of=/mnt/mmcblk0p27/mmcblk0p2_0BOOTCONFIG.bin conv=fsync
dd if=/dev/mmcblk0p3 of=/mnt/mmcblk0p27/mmcblk0p3_0BOOTCONFIG1.bin conv=fsync
dd if=/dev/mmcblk0p4 of=/mnt/mmcblk0p27/mmcblk0p4_0QSEE.bin conv=fsync
dd if=/dev/mmcblk0p5 of=/mnt/mmcblk0p27/mmcblk0p5_0QSEE_1.bin conv=fsync
dd if=/dev/mmcblk0p6 of=/mnt/mmcblk0p27/mmcblk0p6_0DEVCFG.bin conv=fsync
dd if=/dev/mmcblk0p7 of=/mnt/mmcblk0p27/mmcblk0p7_0DEVCFG_1.bin conv=fsync
dd if=/dev/mmcblk0p8 of=/mnt/mmcblk0p27/mmcblk0p8_0RPM.bin conv=fsync
dd if=/dev/mmcblk0p9 of=/mnt/mmcblk0p27/mmcblk0p9_0RPM_1.bin conv=fsync
dd if=/dev/mmcblk0p10 of=/mnt/mmcblk0p27/mmcblk0p10_0CDT.bin conv=fsync
dd if=/dev/mmcblk0p11 of=/mnt/mmcblk0p27/mmcblk0p11_0CDT_1.bin conv=fsync
dd if=/dev/mmcblk0p12 of=/mnt/mmcblk0p27/mmcblk0p12_0APPSBLENV.bin conv=fsync
dd if=/dev/mmcblk0p13 of=/mnt/mmcblk0p27/mmcblk0p13_0APPSBL.bin conv=fsync
dd if=/dev/mmcblk0p14 of=/mnt/mmcblk0p27/mmcblk0p14_0APPSBL_1.bin conv=fsync
dd if=/dev/mmcblk0p15 of=/mnt/mmcblk0p27/mmcblk0p15_0ART.bin conv=fsync
dd if=/dev/mmcblk0p16 of=/mnt/mmcblk0p27/mmcblk0p16_0HLOS.bin conv=fsync
dd if=/dev/mmcblk0p17 of=/mnt/mmcblk0p27/mmcblk0p17_0HLOS_1.bin conv=fsync
dd if=/dev/mmcblk0p18 of=/mnt/mmcblk0p27/mmcblk0p18_rootfs.bin conv=fsync
dd if=/dev/mmcblk0p19 of=/mnt/mmcblk0p27/mmcblk0p19_0WIFIFW.bin conv=fsync
dd if=/dev/mmcblk0p20 of=/mnt/mmcblk0p27/mmcblk0p20_rootfs_1.bin conv=fsync
dd if=/dev/mmcblk0p21 of=/mnt/mmcblk0p27/mmcblk0p21_0WIFIFW_1.bin conv=fsync
dd if=/dev/mmcblk0p22 of=/mnt/mmcblk0p27/mmcblk0p22_rootfs_data.bin conv=fsync
dd if=/dev/mmcblk0p23 of=/mnt/mmcblk0p27/mmcblk0p23_0ETHPHYFW.bin conv=fsync
dd if=/dev/mmcblk0p24 of=/mnt/mmcblk0p27/mmcblk0p24_plugin.bin conv=fsync
dd if=/dev/mmcblk0p25 of=/mnt/mmcblk0p27/mmcblk0p25_log.bin conv=fsync
dd if=/dev/mmcblk0p26 of=/mnt/mmcblk0p27/mmcblk0p26_swap.bin conv=fsync
sync
等最后那个 sync (同步,即将缓存数据立刻写入磁盘) 命令跑完,并且再次出现 root@JDBoxV2:~# 提示符时,就说明备份彻底完成了。
备份完成后用 winscp 工具把备份内容复制出来
备份完成后,你就可以打开下载好的 WinSCP 工具,去把 /mnt/mmcblk0p27/ 目录下的这些 .bin 备份文件全部拽到你自己的电脑硬盘里妥善保存了。
winscp 配置注意
- 新建站点 (New Site):
- 文件协议 (File protocol):选择
SCP - 主机名 (Host name):输入
192.168.68.1 - 端口号 (Port number):输入
22 - 用户名 (User name):输入
root - 密码 (Password):你的路由器后台登录密码
- 文件协议 (File protocol):选择
- 设置高级选项(关键步骤以防断线):
- 在登录界面点击 高级… (Advanced…) 按钮。
- 在左侧菜单找到 连接 (Connection)。
- 取消勾选右侧的
优化连接缓冲大小 (Optimize connection buffer size),然后点击确定。这一步是为了防止下载几百兆的大文件时软件超时断开。
备份好之后刷入不死 uboot
1.winscp 上传不死 uboot文件 用 ssh 执行刷写 刷入之后校验数据 确保成功
2.winscp 上传分区表 用 ssh 执行刷写 刷入之后校验数据 确保成功
上传文件:打开 WinSCP 软件,将左侧电脑里的 uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin 文件,直接拖拽上传到路由器右侧的 /tmp (Temporary,临时文件夹) 目录中。
执行刷写:在 Xshell 中复制粘贴下面两行代码并按回车执行:
Bash
dd if=/tmp/uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin of=$(blkid -t PARTLABEL=0:APPSBL -o device) conv=fsync
dd if=/tmp/uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin of=$(blkid -t PARTLABEL=0:APPSBL_1 -o device) conv=fsync
校验数据:刷入完成后,务必校验 MD5 (Message-Digest Algorithm 5,信息摘要算法/哈希校验码) 以确保文件未损坏:
Bash
md5sum $(blkid -t PARTLABEL=0:APPSBL -o device) && md5sum $(blkid -t PARTLABEL=0:APPSBL_1 -o device)
重点确认: 正常情况下输出的两行 MD5 值必须都是
5e1817f795ada48335fda9f22545a43e。如果一致,说明 U-Boot 刷写完美成功。
- 上传文件:同样在 WinSCP 中,将
gpt-JDC_AX1800_Pro_dual-boot_rootfs512M_no-last-partition.bin上传到/tmp目录中。 - 校验源文件:在 Xshell 中输入以下命令,确认刚才上传的文件没有损坏:Bash
md5sum /tmp/gpt-JDC_AX1800_Pro_dual-boot_rootfs512M_no-last-partition.bin重点确认: 亚瑟 512M 版本的正确 MD5 值应为9d9e3803ba541ff38449acd181026b28。 - 执行刷写:MD5 确认无误后,复制粘贴下方命令将 GPT 写入闪存:Bash
dd if=/tmp/gpt-JDC_AX1800_Pro_dual-boot_rootfs512M_no-last-partition.bin of=/dev/mmcblk0 bs=512 count=34 conv=fsync - 校验写入结果:最后再校验一次写入到设备里的分区表:Bash
dd if=/dev/mmcblk0 bs=512 count=34 | md5sum重点确认: 输出的 MD5 值应当与步骤 2 中的9d9e3803ba541ff38449acd181026b28完全一致。
当两阶段的 MD5 校验全部通过后,最危险的底层修改就已经大功告成了。此时可以直接断开路由器的电源(拔掉插头)准备进入不死 U-Boot 的控制台刷入全新的系统固件。
如果有报错再找 ai
到这里 uboot 已经刷写完成
重启长按恢复按钮就可以进入 新不死uboot 了
uboot 不会自动分配地址 需要把电脑 ip 改成与 uboot地址是 192.168.1.1 同网段
刷 op 系统也有讲究 要刷入工厂包