高通QCM6125平台Bootloader使用UEFI(XBL+ABL)代替之前的MSM8953 所使用的LK(Little Kernel),因此QCM6125在Bootloader阶段display初始化以及开机Logo等显示相关的处理都与MSM8953 有所区别。并且QCM6125 UEFI ABL阶段的代码集成在Android/bootable/bootloader/edk2,而UEFI XBL阶段的代码是独立于Android代码存在。至于为什么高通要使用UEFI代替LK,个人猜测是因为UEFI本身在PC端已经极为流行,使用UEFI将大大减少移植Windwos、Ubuntu等桌面操作系统的工作量,华为、MTK等厂商估计也会跟进
不同于MSM8953 LK Bootloader使用splash分区保存开机Logo,QCM6125 XBL有两种方式替换开机Logo,可以参考boot_images/QcomPkg/Docs/CustomSplashLogo.txt。
第一种方式将boot_images/QcomPkg/Logo/Common/logo1.bmp文件替换为自定义的开机Logo后重新编译xbl.elf即可,开机Logo会集成在xbl.elf镜像中。这种方式是XBL默认的,建议不要使用这种方式,第一个原因是这种方式要求开机Logo文件不能太大,否则可能会编译失败;第二个原因是无法单独烧写开机Logo
第二种方式是使用imagefv分区保存开机Logo,以下是修改流程