15 ms·
Introducing Project Mu
- Boulth 8y agoThis is really nice! I wish there were hardware manufacturers interested in shipping PCs/laptops with Mu.
- andrewstuart2 8y agoIsn't that a bit like posting a job description right now asking for 3 years of experience with project Mu and 10 years of Kubernetes experience? ;-P
- Boulth 8y agoWhen Google announced Open Handset Alliance (Android) in 2007 it already had 30 members or so.
- Avery3R 8y agoIt looks like the firmware in surface devices is based off of this.
- zwaps 8y agoFirmsware as a service???
- hnbroseph 8y agodo you have any particular thoughts on that?
- talko 8y agoIn short firmware as a service means Cloud Computing. Cloud computing is nothing more than a use and delivery of resources and services from the web model. A model where everything directs the “delivery” like “as a Service”, where it does not matter where the resources are located nor who provides them, but rather that they are always available, they are cheap, flexible, scalable, safe… and above all, they give me access to the information I need at any given time and from any device without needing extensive knowledge about computers.
- Dunedan 8y agoGreat. So we have now another meaning for FaaS (Functions as a Service vs. Firmware as a Service). I was slightly confused while reading that article until I noticed that they're talking about Firmware as a Service (whatever that even means).
- AceJohnny2 8y agoWhat is "Firmware as a Service" ? In my mind, firmware is the low-level software that's embedded in a device, and is both hard to change and unlikely to need to change, because it provides utility foundational to using your hardware. How do you turn that into a service? Edit: apparently I can't read because it was right in there: "Firmware as a Service optimizes UEFI and other system firmware for timely quality patches that keep firmware up to date and enables efficient development of post-launch features." So basically, take the limitations I mentioned and get rid of them.
- ChuckMcM 8y agoAnd at the same time creating a side channel that can be interposed on so that malware can be loaded right into the flash on the mother board :-) Seriously though, being "hard to change" on some parts of the system can be a feature.
- phkahler 8y agoCorrect. If they push a little more it will just become part of the OS. Firmware should consist of minimal hardware init and a boot loader and nothing more.
- SmellyGeekBoy 8y agoBIOS firmware has been flashable from the OS since, what, the Windows 98 days? I'm sure I remember updating the BIOS on an old Pentium III ThinkPad in this manner.
- samirm 8y agoFinally! Now we just need to get 3rd party manufacturers on board.
- mailslot 8y agoGreat. Windows updates will now be able to brick the hardware.
- jrs95 8y agoThis is something that has been used for Surface products for a long time and it hasn't been an issue as far as I know.
- cheapgeek 8y agohttps://www.theinquirer.net/inquirer/news/3068312/microsoft-starts-replacing-borked-surface-pro-4-devices https://www.theinquirer.net/inquirer/news/3068312/microsoft-...
- AlphaSite 8y agoThis is because surface ironically has quite a small testing surface. All hardware from all PC manufacturers is much harder to validate.
- jedieaston 8y agoI mean, you've been able to brick hardware on Linux before in earlier versions of the kernel, where the firmware would get mounted, causing the user to blow away parts of their firmware when they wiped their drive (figuring it was just a recovery partition). Relevant Ubuntu bug report from when it was happening: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1734147 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1734147
- throwmeback 8y agothat's genuinely hilarious in hindsight
- protomyth 8y agoApple did firmware updates as part of their OS updates [edit: on Mac], and they did fairly well although I seem to remember one update that did something nasty to one set of machines.
- talko 8y agoMicrosoft doing all sorts of interesting things in the run up to Christmas: like open sourcing the Surface UEFI environment as Project Mu. The strategy is to make everything you want always up-to-date with timely fixes and new features.. turn it into "X-as-a-service" .. Microsoft did it with firmware UEFI via "project mu"
- zozbot123 8y agoFrom the boot options screenshot, I can't find any trace of the one thing I look for in UEFI implementations - ability to easily unlock the secure boot state and boot some arbitrary OS. This seemingly fails to meet even the lowest bar for a good-enough UEFI implementation.
- voltagex_ 8y agoYou can load your own keys: https://github.com/Microsoft/mu_basecore/tree/release/201808/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe https://github.com/Microsoft/mu_basecore/tree/release/201808...
- csense 8y agoSuppose I want to get into hacking UEFI firmware. Does this mean I can buy some Microsoft device, download the C++ code for the firmware, make some changes if I want to, compile it, and load it onto the device? If so, that's really cool.
- bayindirh 8y agoIf you're flashing via the UEFI interface itself (which can have a very fancy terminal), the firmware might need to be signed. I bet Microsoft will not share the signing keys.
- Avery3R 8y agoProduction surface devices have intel bootguard enabled and the public key fused into the pch. You'd have to bypass it somehow.
- cyphar 8y agoThat is only used to check firmware signatures, not UEFI binary signatures. You should be able to add keys to DB and KEK at your leisure. Also Microsoft has a paid program to sign UEFI binaries (that's why you can boot most Linux distributions on secure boot hardware).
- voltagex_ 8y agoYou may be able to build this, put your existing device into unsigned mode, then chain from the UEFI shell [1] into this - or just put it on a FAT32 flash drive as \EFI\boot\bootx64.efi. On the "embedded" side, I'm pretty sure u-boot can load EFI binaries now.
- jclay 8y agoWow, I'm excited to dig into this. Crazy to imagine that you could buy a _Microsoft_ Surface, strip Windows and replace with Debian and have a fully open source device. This raises my odds that they open source the Windows Kernel from ~2% to 4%.
- colemickens 8y agoEr, people have been running Linux on Surfaces for years. With decent UX for a while as well, as I understand it.
- david-cako 8y agosee Stallman’s take on modern computers and phones; virtually impossible to distance yourself from proprietary firmware and BIOS
- nikofeyn 8y agoi just don't understand how his take is at all relevant in modern times. i am sure he uses microwaves, refrigerators, homes, vehicles, etc. on a daily if not hourly basis that have non-free software and firmware. what does he or anyone even do with open source, free firmware?
- deleted 8y ago[deleted]
- nostalgiac 8y ago> As for microwave ovens and other appliances, if updating software is not a normal part of use of the device, then it is not a computer. In that case, I think the user need not take cognizance of whether the device contains a processor and software, or is built some other way. However, if it has an "update firmware" button, that means installing different software is a normal part of use, so it is a computer. https://stallman.org/stallman-computing.html https://stallman.org/stallman-computing.html
- sneakernets 8y agoOpening up easier ways to modify firmware? Yeah, I just can't see how that will ever be abused... Ransomware/cryptominer worm writers are probably salivating over this news.
- viraptor 8y agoThis is not providing anything that wasn't possible before. You could both create your own uefi software and potentially load custom firmware if the device didn't lock it down with signature checks.
- SmellyGeekBoy 8y agoSecurity by obscurity is better?
- WalterBright 8y agoI wish developers of remote firmware updates would demand a physical write-enable switch. I get tired of the risk of remote installation of malware.
- pretendgeneer 8y agoNot to be too anti-microsoft. But this seems like they're bringing the EUFI into windows, therefor allowing them in the future to make it harder than it already is(or eventually impossible) to actually get into the EUFI to install a competing OS. I admit I'm decently "tin-foil hat" about microsoft, but every new laptop I've bought over the last 10 years have been progressively harder to get into UEFI/BIOS to remove windows and install a new OS.
- amiga-workbench 8y agoUbuntu runs on Windows now, why would you ever need to leave ;)
- solarengineer 8y agoEmbrace, extend, extinguish. I am one of those wary of Microsoft. The current CEO was around during the Halloween Diaries. Even if he is well meaning, he is just an employee who can be replaced any day at the whim of large shareholders like Ballmer and Gates who consider Linux to be a virus.
- Analemma_ 8y agoBallmer is still Microsoft's single largest shareholder, and he has seen his personal wealth grow dramatically under Nadella’s tenure. You’re telling me he hates Linux so much that he’s willing to tank his own fortune, to the tune of billions of dollars, to stab ineffectually at it? Please. Nobody at Microsoft ever had a committed ideological opposition to Linux, it was a pragmatic decision based on what they perceived as a threat to their business. That certainly doesn’t negate the damage of all the shit they pulled, but it does mean that it is highly unlikely that they’re going to reverse course and start extinguishing Linux for ideological reasons now that they’ve figured out how to make money without Linux being the enemy.
- coffekaesque 8y agoThe problem is what they will do when they are at the top (or hitting rock bottom). Or when their stakeholders want to milk the cow. It's similar to how you don't want companies to have your personal data, even if you trust them "100%". When money becomes a problem, or a solution, you'll be their last priority. Some of the news about Windows 10 would be unthinkable a few years ago. Priorities change, and this company in particular has a history of being extremely hostile.
- Nelkins 8y agoMain code repository here: https://github.com/Microsoft/mu_basecore https://github.com/Microsoft/mu_basecore
- molticrystal 8y agoIn the "Introducing Project Mu" blog post it says "The Microsoft Devices Team is excited to announce Project Mu, the open-source release of the Unified Extensible Firmware Interface (UEFI) core leveraged by Microsoft products including both Surface and the latest releases of Hyper-V." And I saw in one of the tickets for Virtualbox [1] that: You go VM-entry, execute guest, VM-exit. Cooperatively. Unfortunately MS launches Hyper-V at boot time as a service and keeps a hold of the VT-x, regardless of use or not and This is a problem with Hyper-V being too aggressive and not releasing VT-x once it's got a hold of it. VMWare and VirtualBox for example can not only coexist, but they can run concurrently. Not so with Hyper-V. So does that mean that we can finally have virtualbox/vmware when hyper-v is enabled but not in use, or do they have to open up more in order to get this fixed? I am afraid that may be the case as the only thing I saw in my first quick glance was VTd(directed io) code[2] and in a quick glance in other repositories I saw VMCALL but I haven't found VMXON yet, so maybe it is a step in the right direction. [1] https://www.virtualbox.org/ticket/16801 https://www.virtualbox.org/ticket/16801 [2] https://github.com/Microsoft/mu_silicon_intel_tiano/tree/release/201808/IntelSiliconPkg/Feature/VTd https://github.com/Microsoft/mu_silicon_intel_tiano/tree/rel...
- AaronFriel 8y agoVirtualbox and VMWare Workstation are a different type of hypervisor than Hyper-V. The former are Type 2, the latter is a Type 1. For that reason, no, it's non-trivial to do that. Instead Microsoft recently did what Apple did with their Hypervisor Platform API: https://docs.microsoft.com/en-us/virtualization/api/ https://docs.microsoft.com/en-us/virtualization/api/
- floatboth 8y agoNo, Mu has nothing to do with this, Mu is a fork of EDK2 with a nice GUI and continuous update whatever stuff. This is firmware. Hyper-V uses firmware to boot an OS, but that's all inside the VM. More to the point though, MS recently made a public Hyper-V API thingy. Windows Hypervisor Platform I think it's called. It's similar to how KVM, bhyve (vmm.ko) and Apple's Hypervisor.framework (its kernel counterpart actually) work. Now you can use Hyper-V itself + any third party frontends that use that API. E.g. the Android emulator is going to switch to this. VirtualBox/VMWare should leverage these APIs but they don't because they're way too invested in their custom kernel modules already.
- GutenYe 8y agoI am a bit lost here. Is the UEFI boot same concept as Linux UEFI boot? How will it elvove and help Linux in the future?
- King-Aaron 8y agoDo they just not check to see if their names are already established brands? I don't think Microsoft is in the performance braking market. https://www.project-mu.co.jp/en/index.html https://www.project-mu.co.jp/en/index.html
- Lizzo 8y agoAs well as the Mu Python Editor... and Mu Online, an MMO... Yeah they didn't research this _at all_. It's not exactly a unique name...
- Santosh83 8y agoYes but will OEMs adopt this instead of bundling their own, and often buggy/crappy UEFI code and interface?
- executesorder66 8y agoI never understood the incentive of OEMs going with some proprietary crap instead of using coreboot or something like that.
- ndnxhs 8y agoHardware is about 10 years behind the rest of the software world and hasn't discovered the benefit of open source yet. I have talked to some firmware devs and the idea of open source is totally alien to them.
- tristor 8y agoProject Mu[1] is already a taken name. It's not in the same field, so not a trademark violation, but for those of us who fall into both categories I will never mentally think of this product when I hear Project Mu, because there's so much history behind the original. [1]: https://www.project-mu.co.jp/en/index.html https://www.project-mu.co.jp/en/index.html
- gcb0 8y agohttps://github.com/Microsoft/mu_basecore https://github.com/Microsoft/mu_basecore > Copyright (c) 2016-2018, Microsoft Corporation yet most of the files have > Copyright (c) 2012 - 2017, Intel Corporation. All rights reserved. > Copyright (c) 2017, AMD Incorporated. All rights reserved. > THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE
- lwf 8y agoYes, and the full set is listed in https://github.com/Microsoft/mu_basecore/blob/0d16728c1b41e25e55476358f6dcf4d8fed45f8d/License.txt#L1 https://github.com/Microsoft/mu_basecore/blob/0d16728c1b41e2....
- locacorten 8y agoA whole bunch of links don't work or have empty pages: Code Development Overview https://microsoft.github.io/mu/CodeDevelopment/overview/ https://microsoft.github.io/mu/CodeDevelopment/overview/ Code requirements: https://microsoft.github.io/DeveloperDocs/code_requirements https://microsoft.github.io/DeveloperDocs/code_requirements Has someone been able to build the code and reflash their surface? I'm trying to understand whether the code posted online is complete.
- philliphaydon 8y agoI wonder if MS will eventually opensource Windows as they see declining revenue and focus more on the store aspect. Seems like MS has been seeing alot of benefits to open sourcing their stuff they are beginning to release more and more.
- xvilka 8y agoMicrosoft could have contributed to coreboot instead if they claim to be so opensource-friendly. Or wrote firmware in safer language like Rust. Tradional UEFI code is a total mess, from programming practices view and from security/safety point of view too. For a long time they stuck with Python 2 only for their tooling, C89 compatibility, non-standard types, etc. P.S. Note, that most of the UEFI is not open source - so called PI code (Platform Initialization), which performs real platform booting is closed source in almost any board. Coreboot is targeting this stage too.
- bpye 8y agoThis project and coreboot seem to me, complimentary. It is already possible to run TianoCore over coreboot, it seems it should be possible to run Mu with it as well given some work. Disclaimer: I do work for MSFT but never on UEFI - this is an outside observation
- cyphar 8y agoIf Project Mu requires UEFI, then you'd need coreboot+TianoCore+Mu. In theory contributing to coreboot would have been far more useful, but their idea of being able to easily update firmware would work better on UEFI. Coreboot does allow easy flashing by default but it's not really meant to be enabled on user systems (since it allows for "firmkits").
- bpye 8y agoI'm not sure if I've misunderstood but I'm pretty sure this replaces TianoCore [1], incorporating some of its components. [1] - https://microsoft.github.io/mu/WhatAndWhy/layout/ https://microsoft.github.io/mu/WhatAndWhy/layout/
- bravo22 8y agoPI code on x86 is provided by Intel. You can't ever open source it. Coreboot, like other offerings, sets up the basic stack and jumps to Intel provided blob, which then jumps to the provided hook in Coreboot when a particular part of initialization is done. DDR controller, microcode patching are all done at start-up via this mechanism.
- stonejolt 8y agoWith that stream of open source projects from Microsoft, a Linux based Windows11 should be released any minute now
- askvictor 8y agoUnfortunate name collision with the excellent mu editor for python. I wish people would Google the name of the product they're launching before launching it.
- mihaifm 8y agoThere is also Mu Online, a popular MMO. I honestly thought this was gaming news.
- dvfjsdhgfv 8y agoMu is one of the few Python code editors that is actually great when teaching kids "normal" (i.e. non-visual) programming: https://codewith.mu/ https://codewith.mu/. It has several modes that make it easy to e.g. start developing for the micro:bit or create PyGame games. It's not nice if a big company takes over a name already used by an open project - whether by ignorance or negligence.
- conanthe 8y agoThey just keep pushing their spyware.
- ntoll 8y agoRiiight... as the author of the Mu editor (a volunteer led code editor aimed at beginner Python programmers and educators -- https://codewith.mu/ https://codewith.mu/), this was rather a surprising turn up for the books this morning. I guess "just Google for Mu" won't work any more. Beginner coders are just gonna love "Firmware as a service". ;-)
- akerro 8y agowow this editor is great!
- ntoll 8y agoThank you! Very much a work in progress. You can see what folks have been doing with Mu (the editor) here: https://madewith.mu/ https://madewith.mu/ :-)
- miduil 8y agoI also thought this was going to be something about Mu editor. Reminds all over the GVFS story again: https://github.com/Microsoft/VFSForGit/issues/7 https://github.com/Microsoft/VFSForGit/issues/7
- miduil 8y agoOk, maybe not exactly "all over". 1. GVFS name is trivial, but less trivial than just "Mu" 2. Mu Project vs. Mu Editor makes it still distinguishable 3. GVFS (now gio?) exists for ages, Mu Editor and Project Mu are two fairly new projects. I guess I'm just still upset about how people at Microsoft picked the name back then and how little they initially considered changing their name.
- deleted 8y ago[deleted]
- vthriller 8y ago> I guess "just Google for Mu" won't work any more. And it never did work for such an ambiguous term (greek letter? Micron Technology stocks? Manchester United?), unless you googled "mu editor" in which case you're still fine.
- akerro 8y ago>Firmware as a Service You may be a victim of firmware counterfeiting, please make sure you paid your subscription fee before we let you change your boot options.
- throwaway12iii 8y agoReminds me of Mu, https://codewith.mu/ https://codewith.mu/ Mu is an editor for python. I thought Microsoft were going to start sponsoring Mu. Doh.
- ehnto 8y agoProject Mu is also a brand of brake pad. I always appreciated the name.
- nonamenoslogan 8y agoWill the team be renamed the "Justified Ancients?"