The Devices team at Microsoft has announced of rolling out an open-source release of “Project Mu.”
This Unified Extensible Firmware Interface (UEFI) core is used by Microsoft in its products including Surface and latest Hyper-V released takes the firmware development in the same direction that is Firmware as a Service (FaaS).
For those unaware, UEFI is system software which helps in booting up a device by initializing hardware and providing services required to load the operating system.
Similarly, TianoCore’s EDK II, which is also a platform that supports open-source development of UEFI.
According to the company, initially, when it utilized FaaS on Surface, it realized that TainoCore’s implementation is not optimized for generic development across different products lines.
To solve this problem, after many iterations it has finally now published Project Mu, which contributes various UEFI features for modern Windows PCs. and also “demonstrates a code structure and development process for efficiently building scalable and serviceable firmware”.
With these improvements Project Mu devices can support FaaS, which similar to Windows as a Service (WaaS) optimizes UEFI and other system firmware.
This helps in timely quality patches that keep the firmware up to date and enables efficient development of post-launch features.
Project Mu has the following advantages to offer:
- A code structure & development process optimized for Firmware as a Service
- An on-screen keyboard
- Secure management of UEFI settings
- Improved security by removing unnecessary legacy code, a practice known as attack surface reduction
- High-performance boot
- Modern BIOS menu examples
- Numerous tests & tools to analyze and optimize UEFI quality.
Here is an image overview of Project Mu used for boot configuration:
Microsoft also said that its open-source release is extremely modular,
“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.””[…] The idea is lowering the entanglement of code, lowering the coupling, and allowing the product to pick and choose the code it needs. This means when building any given product, you don’t need all the Project Mu code.”
Development on Project Mu will be based on TianoCore’s latest stable release, says Microsoft.
To learn more Project Mu, head over to the dedicated GitHub page.