香橙派5 Pro UMS刷机全流程(含进度条)
这篇是给未来的自己留的完整流程:当香橙派5 Pro(或其他 RK3588 板子)系统内核玩坏后,如何通过 U-Boot 的 UMS 模式,在电脑侧用 dd 直接重刷整盘镜像。
一、准备条件
你需要:
- 一根 USB 转串口线(任意能进 UART 控制台即可)。
- 板子和主机连接线(常见是 USB-A to C 或 C to C,取决于板子接口)。
- 目标
.img镜像文件(不是.xz,必要时先解压)。 - Linux 主机的 root 权限(
sudo)。
这套流程会直接覆盖目标设备分区表和所有分区,请确认目标盘无重要数据。
二、进入 U-Boot 并切换 UMS
- 串口连上板子,打开串口终端。
- 板子上电或按
reset。 - 在启动日志滚动时按
Ctrl + C,打断自动启动,进入 U-Boot shell。 - 先执行:
1 | ums |
看命令提示后,再执行常用形式:
1 | ums 0 mmc 0 |
你给出的原始帮助如下(关键点是 devtype 默认 mmc):
1 | ums - Use the UMS [USB Mass Storage] |
补充说明:
USB_controller通常是0。devtype可能是mmc/nvme/ 其他块设备类型,按板子实际为准。dev通常是0(第一块设备)。
三、主机侧确认设备节点
板子进入 UMS 后,主机上会出现新块设备(例如 /dev/sda)。先确认,避免误刷本机盘:
1 | lsblk -o NAME,SIZE,MODEL,MOUNTPOINT |
四、执行刷写(带进度条)
方案 A:dd 自带进度(最省事)
1 | sudo dd if="/path/to/your-system.img" of=/dev/sdX bs=4M conv=fsync status=progress |
方案 B:pv + dd(显示更友好的进度/速率)
1 | pv "/path/to/your-system.img" | sudo dd of=/dev/sdX bs=4M conv=fsync status=none |
如果你和我一样,镜像就在 ~/Downloads,可以直接替换成实际路径:
1 | pv "/home/cagedbird/Downloads/ubuntu-24.04-preinstalled-desktop-arm64-orangepi-5-pro.img" | sudo dd of=/dev/sda bs=4M conv=fsync status=none |
五、收尾
dd结束并sync后,回到串口侧。Ctrl + C退出 UMS。- 断电重上电,或直接按
reset。 - 板子应从新系统正常启动。
六、常见坑
1) 刷错盘
最危险的问题。一定先 lsblk,必要时拔掉其他移动硬盘再刷。
2) 设备节点变化
有时第一次是 /dev/sda,下一次可能变 /dev/sdb,不要硬记路径。
3) 镜像没解压
dd 的 if= 要用 .img。如果手里是 .img.xz,先解压再刷。
4) UMS 参数不对
先执行裸 ums 看帮助,再按板子实际存储介质改 devtype。
七、无显示器完成首启 OOBE(实战验证版)
这套流程已经实测打通,适用于 joshua-riek 这类首启进入 Ubuntu 图形初始化向导(OOBE)的镜像。
7.1 实战拓扑
- 串口:
FT232(比 CH340 稳定,推荐)。 - UMS 线:USB 线一直连着,必要时可随时
ums 0 mmc 0进“暴力修复”模式。 - 网络:Arch 主机给板子共享网络 + RJ45 同网段互通。
7.2 关键流程(双路径并列)
A 路径:先打通 root SSH(这次最终成功主路径)
在 U-Boot 菜单先进入 rescue target,然后执行:
1 | # 1) 设置 root 密码 |
确认至少包含:
1 | PermitRootLogin yes |
这次我直接 reboot 让配置生效(未单独 systemctl restart ssh)。
重启后从 Arch 直接:
1 | ssh root@<board-ip> |
B 路径:SSH 上板后安装 NoMachine 进图形 OOBE
1 | apt update |
实测坑点:安装完直接重启,nxserver 可能不自动拉起,NoMachine 客户端会连不上。
需要手动强拉一次:
1 | systemctl restart nxserver |
之后在 Arch 的 NoMachine 客户端连接板子 IP(默认端口 4000),即可进入图形界面完成 OOBE 创建用户。
7.3 成功判据
ssh root@<board-ip>可密码登录。- NoMachine 可连图形桌面。
- OOBE 用户创建完成。
- 重启后依然可用。
7.4 说明
- 这次没有继续修“正常模式串口交互不佳”的问题,因为 SSH + NoMachine 已满足开发可用性。
- 对开发板(非公网服务器)场景,临时放宽 root 登录策略是可接受的效率优先方案。
- 若后续外网使用,建议再收紧 SSH 策略。
八、简记(速查版)
串口侧:
1 | ums 0 mmc 0 |
主机侧:
1 | lsblk -o NAME,SIZE,MODEL,MOUNTPOINT |
一句话:Ctrl + C 进 U-Boot -> ums 0 mmc 0 -> 确认 /dev/sdX -> pv | dd 覆盖写入 -> sync -> 重启。
这套方法的本质就是:让板子在 U-Boot 阶段把本地存储“伪装”成 USB 大容量盘,再从主机整盘写入镜像。对救砖、重装系统非常直接有效。