记录一下给一个 s912 盒子刷 lakka 系统的过程,这个盒子的型号是 intbox i8,采用的是 amlogic s912 处理器,2G RAM,8G EMMC。
可通过短接下图中的 GND 和 BURN 触点再通过双公头 USB 线连接,强行进入刷机模式,然后执行 aml-flash-tool --destroy 清空 EMMC 。
清空 EMMC 后盒子就会从 sd 卡启动,这里就把系统写入 sd 卡:
- 下载并写入 khadas vim2 的 lakka 镜像,例如
Lakka-AMLGX.aarch64-6.1-khadas-vim2.img。 从 https://github.com/khadas/khadas-uboot 下载并写入
VIM2.u-boot.sd.bin。dd if=VIM2.u-boot.sd.bin of=/dev/??? conv=fsync,notrunc bs=442 count=1
dd if=VIM2.u-boot.sd.bin of=/dev/??? conv=fsync,notrunc bs=512 skip=1 seek=1
然后就可以成功开机了,但这时候还有几个问题:
- u-boot 有概率无法启动内核,直接重启。
经尝试,通过
setenv no_usb yes在 u-boot 阶段关闭 USB 功能可修复。 - 系统启动后 OTG USB 口无法使用。
需要修改
meson-gxm-khadas-vim2.dtb,把usb@d0078080节点下的dr_mode改为host。 - 内置 mmc 无法访问,I/O 错误。
一样修改 dtb,把
mmc@74000节点下的max-frequency改为25000000。
最后 ssh 登录 lakka,再把系统镜像和 u-boot 写入 EMMC,更新 dtb,搞定。