Live data from Hacker News

Project Mu – A modular UEFI environment for building modern devices

microsoft.github.io

1–10 of 35 posts

Re: Project Mu – A modular UEFI environment for building modern devices

#3

For those who are confused (as I was until a bit ago), this is for writing firmware.

To expand on this, if successful, this project would basically make it a lot easier to get firmware updates and write firmware for more devices. This, in conjunction with the Linux Vendor Firmware Project, could potentially make it extremely easy for vendors to support Linux and get firmware updates via Linux. Whether that's the projects actual goal or not, I am not sure, but that's what opportunity a project like this potentially avails us to.

Re: Project Mu – A modular UEFI environment for building modern devices

#5
Project Mu is mostly about getting the messy parts of the UEFI ecosystem sorted out: Instead of hoping that IBVs ("Independent BIOS Vendors") clean up their act (because, to be frank, they don't), they get ready-to-use components that Microsoft is using itself on the Surface products and provide a certain baseline standard (security, UX, ...).

The difficult part about firmware in general (hardware initialization) is still under lock and wrap though: you'll have to get it from the silicon vendors and link it with the open EDK2/Tianocore (which is the UEFI base) and Mu (which is a toolset to extend that base) components to a full firmware image. In particular, those components aren't distributed as part of EDK2 or Mu.

Re: Project Mu – A modular UEFI environment for building modern devices

#6
This is potentially an alternative to Coreboot for open source firmware. AFAIK it's used in Microsoft Surface PCs and it looks more consumer-friendly with menus and such. The downside is that it's based on TianoCore which is reported to be very poor quality.

Re: Project Mu – A modular UEFI environment for building modern devices

#7
post #6

This is potentially an alternative to Coreboot for open source firmware. AFAIK it's used in Microsoft Surface PCs and it looks more consumer-friendly with menus and such. The downside is that it's based on TianoCore which is reported to be very poor quality.

here we go again, every thread, same confused comments…

Coreboot is just an early stage bootloader that does basic bringup and jumps into a payload… like… TianoCore EDK2 :) Comparing Coreboot with something that can be its payload does not make much sense.

EDK2 does have some PEI code but it's not very interesting. The valuable part is the DXE phase and beyond.

Re: Project Mu – A modular UEFI environment for building modern devices

#8
post #6

This is potentially an alternative to Coreboot for open source firmware. AFAIK it's used in Microsoft Surface PCs and it looks more consumer-friendly with menus and such. The downside is that it's based on TianoCore which is reported to be very poor quality.

Project Mu, like EDK2/Tianocore lacks everything coreboot has - and vice-versa: coreboot doesn't care too much about OS-side or user interfaces but delegates that to something we call "payload". EDK2/Tianocore on the other hand (and Mu, by extension) is extremely weak in the actual hardware initialization department because they only care about OS-side and user interface matters. If you dig a lot, you'll find one memory init driver there (for the now-dead Quark SoC).

Project Mu is an attempt to make something reasonable out of EDK2, and I commend them for it (EDK2 _really_ needs an effort like this).

But to get a useful (UEFI style) firmware image without signing NDAs (and not the ordinary NDA, the more secret ones) you'll need to combine Project Mu with... coreboot.

Re: Project Mu – A modular UEFI environment for building modern devices

#9
post #5

Project Mu is mostly about getting the messy parts of the UEFI ecosystem sorted out: Instead of hoping that IBVs ("Independent BIOS Vendors") clean up their act (because, to be frank, they don't), they get ready-to-use components that Microsoft is using itself on the Surface products and provide a certain baseline standard (security, UX, ...). The difficult part about firmware in general (hardware initialization) is…

>the messy parts of the UEFI ecosystem

The jokes practically write themselves.

Post reply on HN