edk2-msm
为骁龙设备移植 UEFI 固件标准,支持 Linux/Android/WoA 多系统自由启动的开源固
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为骁龙设备移植 UEFI 固件标准,支持 Linux/Android/WoA 多系统自由启动的开源固
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:edk2-msm 项目 banner,展示了 Renegade Project 的多设备支持野心
如果你手握一台搭载骁龙处理器的手机或开发板,想在上面运行原生 Linux 或 Windows on ARM,主流厂商提供的环境却让人寸步难行——Bootloader 被锁、设备分区不透明、驱动缺失。很多优秀的骁龙设备因为缺乏开源固件支持,只能沦为"刷了官rom用两年就卡"的一次性消费品。
edk2-msm 正是来解决这个问题的:它将 Intel 主导的 UEFI 固件标准(EDK2)移植到高通骁龙平台,让这些设备获得标准化的固件启动环境,从此可以像 PC 一样自由启动 Linux、Android 甚至 Windows on ARM。
edk2-msm 隶属于 Renegade Project 组织,这是一个专门做骁龙设备开源 UEFI 移植的社区。项目主页的描述"B roken edk2 port for Qualcomm platforms xD"看似自嘲,实际上这是一个相当硬核的技术项目——需要同时精通 ARM 固件架构、ACPI 表编写、设备树(DeviceTree/FdtBlob)适配和 EDK2 构建系统。
项目的核心开发动力来自 Windows on ARM 的崛起。随着骁龙 8cx 系列笔记本处理器和苹果 M 系列芯片的成功,ARM Windows 的生态逐渐成熟,但高通平台上的 UEFI 固件支持一直是空白。edk2-msm 填补了这一空白,使得第三方开发者可以在非微软官方支持的骁龙设备上运行完整 ARM Windows。
项目采用典型的 EDK2 分层架构,将硬件相关代码按层级组织:
Silicon 层(芯片级):针对每个骁龙 SoC(sdm845、sm8150、sm8250、sm8550 等)提供芯片级驱动和 ACPI 表定义,包括 USB、UFS 存储、PMIC 电源管理等。这里是整个项目工作量最大的部分,涵盖了从 MSM8998(骁龙835)到 SM8550(骁龙8 Gen2)在内的 20+ 代平台。
Platform 层(设备级):在 Silicon 层基础上,定义具体设备的配置。Platform 目录下按品牌和型号细分,涵盖一加、小米、三星、Google Pixel、LG、OPPO、vivo、华硕、联想等 80+ 款设备。每个设备的配置包含设备树 blob(.dtb)、DSC 描述文件、FDT 兼容列表和 ACPI 表(ASL 源码 + AML 编译表)。
Common 层(共享):包含上游 EDK2 和 edk2-platforms 的 submodule,作为基准代码库。这体现了开源社区"上游优先"的原则,避免重复造轮子。
GPLDrivers:GPLv2 许可的驱动,包括 BootSlotDxe(多槽位引导切换)等功能驱动。
项目没有 Web UI,全部通过 build.sh 脚本驱动。这是一个功能完整的 bash 构建系统,核心特点:
--device 参数指定设备代号(如 lmi 对应小米 POCO F3)--toolchain--chinese 参数使用南京航空航天大学镜像加速 submodule 拉取构建产物是一块可以直接刷入设备特定分区的 UEFI 固件镜像,刷新后设备将具备标准 UEFI 启动能力。
目标用户:固件开发者、Linux 发行版移植者、Windows on ARM 爱好者
最低门槛:
上手路径:参照 Renegade Project Wiki 的设备指南,社区文档相对完整,但对于固件新手来说依然有较高学习曲线。
edk2-msm 代表了一种趋势:打破硬件厂商对固件层的垄断。随着 RISC-V 生态崛起、开源固件社区活跃,越来越多的研究者开始关注 ARM 设备上的自由软件权利。
项目的 star 数量(2500+)和 fork 数量(490+)说明,尽管这是一个专业门槛极高的项目,开发者社区依然给予了广泛关注。它与 WOA-Project(Surface Duo 移植)、Lumia950XLPkg 等项目共同构成了骁龙设备开源固件生态。

图2:EDK2 官方构建系统状态图,展示上游 EDK2 框架的成熟度
技术关键词:UEFI / EDK2、ACPI 表、ARM 固件、Qualcomm Snapdragon、Windows on ARM、Linux Bootloader、多平台支持