【UEFI实战】Project Mu简介

原文链接:https://blog.csdn.net/jiangwei0512/article/details/104071942

什么是Project Mu

Project Mu是微软推出的一个项目,

官网是
https://microsoft.github.io/mu/
github
https://github.com/microsoft/mu


Project Mu简单来说就是一套edk2基础上的UEF固件,但是具有自己的特点,如图所示:

Project Mu原本是用在微软自己的PC设备(比如Surface)上的,但是也可以在上到服务器下到嵌入式设备上。
代码说明

Project Mu的代码分布在不同的仓库中,关于这一点有如下的说明:

    To build most products, it often requires both closed-source, 
proprietary assets as well as open-source and industry-standard code.

 The distributed build system and multi-repository design 
allow product teams to keep code separate and connected to 
their original source while respecting legal and business boundaries.
下面介绍几个Project Mu最重要的仓库:

https://github.com/Microsoft/mu_basecore

这个是Project Mu的主仓库,包含的是UEFI/ACPI/PI等的基础实现以及编译工具。

GitHub - microsoft/mu_plus: Microsoft Core UEFI Value

这个仓库包含了跟硬件相关的模块,且只依赖于Project Mu的主仓库,它全部有Project Mu提供。

https://github.com/Microsoft/mu_tiano_plus

这个仓库包含TianoCore的一些通用功能。

总的来说,上述的代码包含了以下的种类:

    TianoCore EDK2 UEFI standard-based code
    Value-add code from TianoCore
    Silicon vendor hardware initialization code
    Silicon vendor value-add code
    Independent BIOS Vendor code
    ODM/OEM customization code
    OS firmware support code
    Legacy BIOS compatibility code
    Board-specific code
    etc.

由于这些代码在不同的仓库,由不同的人员维护,为了保持代码的兼容性和稳定性,Project Mu对它们的依赖关系做了严格的规定:

最终开源的代码应该是这样的:

或者这样的:


Project Mu is a modular adaptation of TianoCore's edk2 tuned for 
building modern devices using a scalable, maintainable, and reusable pattern. 

Mu is built around the idea that shipping 
and maintaining a UEFI product is an ongoing collaboration between numerous partners.

 For too long, the industry has built products
 using a "forking" model combined with copy/paste/rename and with each new product, 
the maintenance burden grows to such a level that updates are near impossible due to cost and risk.

Project Mu also tries to address the complex business relationships 
and legal challenges facing partners today. 

To build most products, it often requires both closed-source, proprietary assets 
as well as open-source and industry-standard code.

 The distributed build system and multi-repository design 
allow product teams to keep code separate and connected to 
their original source while respecting legal and business boundaries.

Project Mu originated from building modern Windows PCs 
but its patterns and design allow it to be scaled down or up for whatever the final product's intent. 
IoT, Server, PC, or any other form factor should be able to leverage the content.

##Primary Goals

Initially, this project will focus on two central goals.


##Share

We will share our active code tree to both solicit feedback and entice partners to collaborate.

Project Mu is an active project. 

This is not a side project, mirror, clone, or example. 

This is the same code used today on many of Microsoft's 1st party devices
 and it will be kept current because it must be to continue to enable shipping products.

posted @ 2025-05-20 20:32  scott_h  阅读(79)  评论(0)    收藏  举报