[RK3288][Android6.0] 调试笔记 --- 修改boot.img后进入Recovery模式问题

在RK3288平台,Android 6.0系统中,修改init.rc并重新编译boot.img导致设备无法进入Recovery模式。原因是uboot在启动时会校验boot.img的SHA值。通过分析调用流程,发现在SecureBoot.c和SecureVerify.c中的SecureModeBootImageCheck导致了失败。解决方法是禁用CONFIG_SECUREBOOT_CRYPTO宏,具体修改u-boot/include/configs/rk32plat.h文件。
摘要由CSDN通过智能技术生成
Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
Uboot: v2014.10

现象:
    修改了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

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值