RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘中内核与文件系统或者安卓。

达成这样的需求需要以下几步:

  1. U-Boot阶段需要初始化读写SATA硬盘
  2. 系统固件烧录到SATA硬盘
  3. 启动参数与相关环境变量要修改SATA启动

完成初始化读写SATA硬盘这一步,其实就是配置好设备树与config配置,且驱动不能有问题。

对于ROC-RK3568-PC,SATA接口已经预留:

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件-LMLPHP
RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件-LMLPHP

原理图如下:

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件-LMLPHP

可以新建一个rk3568-sata.config配置文件,内容如下:

10-22 15:54