Fastboot.efi 测试
本文最后更新于 2025年8月19日 下午
Fastboot.efi 测试
fastboot.efi是qualcomm最近开源的一个在uefi的fastboot实现。本文编译并配置ABL2ESP在QRD720上面对其进行测试。
编译
- 环境: Linux
- 工具:rustup/cargo
该程序同样采用rust编写,构建步骤同上一篇ABL2ESP
- 安装工具链
国内安装工具链的时候推荐配置镜像源1
2
3
4
5# USTC Mirror
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# Install ARM64 Toolchain
rustup target add aarch64-unknown-uefi - 拉代码
1
2git clone https://github.com/qualcomm/fastboot.efi fastboot --depth=1
cd fastboot - 构建
1
cargo build --target aarch64-unknown-uefi
构建完成之后,可以在当前目录下找到./target/aarch64-unknown-uefi/debug/fastboot.efi的可执行文件,将该文件复制到/efi/boot/fastboot.efi,同时在grub.cfg添加menuentry。
1 | |
测试
虽然README.md里面已经说了支持哪些东西,不过既然是自己玩还是都试试。
看起来不太能启动二进制格式的内核,只支持efi格式的内核。
aboot必须是v2格式:
不支持fastboot getvar,也正常。
最后测试一下把小太阳的simpleinit塞到boot里面能不能启动
结语
貌似功能还不是很完善,比如只支持aboot v2,许多fastboot命令都不支持,也不支持启动raw内核,也没有图形界面。
要是之后高通狠心一下用这个替代掉abl就好了,这样就可以直接在fastboot启动任意efi application了,相比类似Project Aloha那种重新运行一遍uefi,直接运行一个efi application补全驱动去加载windows会更方便一些,不用patch一大堆驱动和引入一堆device-specific的内容。
Fastboot.efi 测试
https://kancy.life/2025/08/19/Fastboot_efi/