)
前言之前网上买了个rk3588板子到手发现是拆机板结果为了折腾把系统搞坏了资料又没有只知道原版使用的ophub维护的6.1.141内核并且有保存这个板子之前运行的dtb关于他的资料在官网只能找到数据手册下载rk官方的刷机软件和对应的驱动资源下载汇总 | Radxa Docs安装驱动不做赘述下载完整的镜像文件ophub制作的基于debian12的armbian镜像内核为6.1.141https://github.com/ophub/amlogic-s9xxx-armbian/releases/download/Armbian_bookworm_arm64_server_2026.07/Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.16.img.gz下载uboot相关当前其实只用spl_loader就好了https://github.com/ophub/u-boot/blob/main/u-boot/rockchip/rock5b/rk3588_spl_loader_v1.08.111.bin解压将解压后的镜像文件和spl_loader放到某个文件夹内烧录打开rkdevtool板子的otg口接到电脑然后按住recover按键再给板子通电然后会显示发现maskrom设备将Loader行设为刚刚的spl_loader路径第二行设置为下载的解压后的镜像路径然后勾选强制执行点击执行启动下载完后板子重新上电连接调试串口发现内核启动失败猜测是因为设备树原因替换设备树将镜像文件拷贝到ubuntu虚拟机sudo apt install libguestfs-tools mkdir change_dtb cd change_dtb/ cp /mnt/hgfs/win_linux_share/Armbian_rock5b/Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.01.img ./ cp /mnt/hgfs/win_linux_share/Armbian_rock5b/rk3588-ad-c58.dtb ./ # 挂载镜像拿到armbianEnv.txt sudo guestfish -a ./Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.01.img EOF run mount /dev/sda1 / download /armbianEnv.txt ./armbianEnv.tmp EOF # 修改armbianEnv.txt sed -i s/^fdtfile.*/fdtfilerockchip\/rk3588-ad-c58.dtb/ ./armbianEnv.tmp # 更新到镜像 sudo guestfish -a ./Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.01.img EOF run mount /dev/sda1 / copy-in ./rk3588-ad-c58.dtb /dtb/rockchip/ upload ./armbianEnv.tmp /armbianEnv.txt EOF再次启动将修改后的镜像拷贝到windows再次maskrom模式烧录成功进入系统但是帐号密码怎么输入都不对原因ophub‑armbian第一次开机必须走完初始化向导设置密码、新建普通用户你直接 maskrom 烧写 eMMC第一次初始化脚本被触发但没交互完成账号密码状态错乱。AI方案1操作U‑Boot 串口进入单用户模式重置 root 密码直接复制粘贴板子重启串口盯着输出快速按空格 / 回车打断自动启动进入 U‑Boot 提示符。在 U‑Boot 输入下面这一整行不要换行plaintextsetenv bootargs ${bootargs} init/bin/sh启动内核plaintextrun distro_bootcmd板子会启动直接落到# root shell不需要密码现在根文件系统是只读重新挂载为可读写bashmount -o remount,rw /设置 root 新密码比如123456bashpasswd root输入两遍新密码。删除首次登录标记避免下次开机又乱触发初始化bashrm -f /root/.not_logged_in_yet rm -f /etc/firstrun sync重启bashexec /sbin/init板子正常启动现在用root密码填你刚刚设置的123456就可以登录。AI方案2问题根源Ophub‑RK3588 的distro_bootcmd会从armbianEnv.txt重新加载、覆盖你 U‑Boot 手动设置的bootargs所以你setenv bootargs init/bin/sh写完一跑distro_bootcmd直接被冲掉依旧走到登录界面Armbian。不能靠 U‑Boot 命令行临时加参数。有两条现实路径方案 1修改镜像把init/bin/bash写进镜像内armbianEnv.txt的 extraargs推荐回到你的虚拟机本地修改 imgdownload 镜像里armbianEnv.txt到本地bashguestfish -a ./你的修改好.img EOF run mount /dev/sda1 / download /armbianEnv.txt ./env.tmp EOF在虚拟机本地给extraargs追加init/bin/bashbash# 如果原来extraargsrw rootwait sed -i s/^extraargs.*/extraargsrw rootwait init\/bin\/bash/ env.tmp写回镜像bashguestfish -a ./你的修改好.img EOF run mount /dev/sda1 / upload ./env.tmp /armbianEnv.txt EOF。开机直接落到#root shell不需要密码。执行bashmount -o remount,rw / passwd root rm -f /root/.not_logged_in_yet sync # 非常关键删掉init参数不然下次开机还进shell sed -i s/ init\/bin\/bash// /boot/armbianEnv.txt exec /sbin/initAI方案3U‑Boot 里面先看有哪些 mmc 控制器plaintextmmc list输出类似plaintextmmcfe2c0000: 1 (SD卡) mmcfe2e0000: 0 (eMMC板载)eMMC 是dev 0不是 dev1。手动拉起内核完整命令复制粘贴不要 run distro_bootcmdplaintextmmc dev 0 fatload mmc 0:1 0x08080000 Image fatload mmc 0:1 0x0a000000 dtb/rk3588-ad-c58.dtb setenv bootargs rootUUID1f1630d2-2c28-4de4-9c13-236e7b80a2ca rootfstypeext4 rootwait consolettyFIQ0,1500000n8 init/bin/bash booti 0x08080000 - 0x0a000000mmc 0:1mmc0 (eMMC) 的第 1 分区就是 boot (FAT) 分区。执行booti之后直接进入#root shell不需要密码。shell 里面全套操作bashmount -o remount,rw / passwd root rm -f /root/.not_logged_in_yet rm -f /etc/firstrun sync exec /sbin/init之后系统正常启动root 用你刚设置的密码登录。全部困境汇总板子无 SD 卡插槽只有 eMMC。maskrom 烧完整 raw‑img可以走到 ttyFIQ0 登录但密码失效首次初始化没跑完。U‑Bootrun distro_bootcmd会加载 boot.scr内部读取armbianEnv.txt直接覆盖 U‑Boot 命令行 setenv 的 bootargs所以 U‑Boot 临时设置init/bin/bash完全无效。U‑Boot 手动fatload mmc 0:1 ...→Unrecognized filesystem typeGPT 分区表导致 U‑Boot FAT 驱动解析失败手动读文件不可用。❌不能在armbianEnv.txt的extraargs写init/bin/bash→ bookworm 内核直接 panic起不来。boot 分区没有 extlinux.confboot.scr 是二进制不能直接改。现在不能从引导层注入 init/bin/bash。只能去修改 rootfs 根文件系统里面的 shadow 密码文件。最终有效方案# 挂载镜像从rootfs分区获取shadow文件 sudo guestfish -a Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.01.img EOF run mount /dev/sda2 / download /etc/shadow ./shadow.tmp EOF # 修改 chmod 777 ./shadow.tmp vim shadow.tmp // 删除加密字段 chmod 644 ./shadow.tmp # 写入镜像 sudo guestfish -a Armbian_26.08.0_rockchip_rock5b_bookworm_6.1.141_server_2026.07.01.img EOF run mount /dev/sda2 / upload ./shadow.tmp /etc/shadow EOF删掉这部分就表示不要密码将改后的镜像传到windows重新使用maskrom模式烧录重新启动成功进入系统无需密码