为什么 fastboot 线刷要先解 bootloader,即使刷的原厂 rom
不懂就问,看网上的介绍,bootloader 目的是为限制刷第三方 rom,但为什么刷原厂 rom 也要先解 bootloader 呢?有大佬可以从 bootloader 工作原理上解惑吗?
不懂就问,看网上的介绍,bootloader 目的是为限制刷第三方 rom,但为什么刷原厂 rom 也要先解 bootloader 呢?有大佬可以从 bootloader 工作原理上解惑吗?
@TreantLee 有点好奇你说的“售后授权才能 9008”是啥意思……反正我手里的机器,最多就是短接一下主板上特定的触点就可以进了。
aleph security 博客写过这方面的东西。没记错的话,Android 机器有一条启动链:PBL->SBL->aboot->Linux kernel
原则上,每个阶段,都会验证下一个阶段要执行的程序代码的数字签名,如果数字签名无效,就拒绝启动。
其中 PBL ( primary bootloader )烧写固化在芯片内,不可更新。短接法进 9008 应该就是这个阶段起作用,最后救砖手段。
SBL ( secondary bootloader ),反正我手里的机器是写在 EMMC (啊,低端机器,没办法)闪存上的。短接 D+/GND 的“USB 深度刷机线”就是这个阶段起的作用。
aboot 就是一般说的 bootloader 、fastboot 了,一般解锁解的就是这一个阶段,说白了和上面都一样,就是程序里写了个条件判断。
然后 aboot 会加载执行保存在 boot 分区的东西,除了 Linux 内核,还有 ramdisk 、启动参数之类的东西(嗯,新机器可能都用 System-as-root,甚至没有 ramdisk 了?)
最后,Linux kernel 启动后,按照配置,会继续验证 system 分区的数字签名(通过 dm-verity,所以 magisk 需要修改 boot 分区才能解除这个限制)。