А как вообще разрабатывают XBL?
У меня такой вопрос. Думаю, вы знаете тему с портированием UEFI на Qualcomm-ы. Но вот вопрос: а как тестируют эти, столь базовые, компоненты (aboot, xbl)? Ведь это не ядро и не recovery, которые всегда можно перешить хоть напрямую из fastboot. Что-то пойдёт не так - и будет hard brick. Нет, можно, конечно, выпаять в случае чего emmc флешку и работать с ней из Linux, но это дико непросто. Если я не ошибаюсь, EDL работает через Little Kernel, а оно вообще в aboot, даже не xbl. Просто, процесс загрузки же вроде бы так выглядит (не буду все расписывать):
[Power] -> [XBL UEFI] -> [aboot Little Kernel (fastboot)] -> [dm-verity/oem lock?] -> (Yes) -> [Verify boot/recovery] -> [Verified?] -> (Yes) -> [kernel+ramdisk execution] -> [dm-verity] -> [Enabled?] -> (Yes) -> [Check system partition] -> [Verified?] -> (Yes) -> [Start /init]
| | | |
V V V V
(No) (No) (No) (No)
Да, вне всякого сомнения, можно использовать UEFI-фишки XBL (по крайней мере, на snapdragon-ах), или вообще XBL как полноценный UEFI (привет, Snapdragon 820-845, и EFIDroid). Но XBL - проприетарный... Есть, конечно, qseecomd в ядре Linux, но оно вроде бы работы с TrustZone и rpmb. Так что реально непонятно, как разрабатывают и тестируют XBL UEFI. Тем более в том же QEMU не получиться эмулировать SoC, а других эмуляторов... я и не знаю (VirtualBox и VMWare по понятным причинам даже не рассматриваются).