Platform: RK3288
OS: Android 7.0
Kernel: 4.4.83
现象:
修改了init.rc编译出来的bootimage下载进去后无法开机进入Recovery模式.
Log:
read logo on state from dts [1]
pll_src = 0, dclk_hz = 138700000, dclk_div = 2
edp pll locked
Aux Transaction fail!
link training success.
unable to config video
Hit any key to stop autoboot: 0
boot or recovery image sha mismatch!
Unable to boot:boot
try to start recovery
原因:
uboot阶段会检查boot.img和寄存器里的SHA是否一致,如果不匹配就会返回错误.
调用流程:
do_bootrk -> cmd_bootrk.c
rk_load_image_from_storage ->
SecureBootImageCheck -> SercureBoot.c
SecureModeBootImageCheck -> SecureVerify.c
SecureNSModeBootImageCheck ->
SecureNSModeBootImageShaCheck
解决办法:
关闭 CONFIG_SECUREBOOT_CRYPTO 宏.
文件路径: u-boot/include/configs/rk32plat.h