Initial Patches Posted For Bringing Up The Linux Kernel On Apple Silicon M1 Hardware
Corellium developers sent out their first set of seven patches under a "request for comments" flag this morning. These are the minimal changes needed for getting Linux to boot on the current Apple M1 ARM-based hardware.
Linux is now completely usable on the Mac mini M1. Booting from USB a full Ubuntu desktop (rpi). Network works via a USB c dongle. Update includes support for USB, I2C, DART. We will push changes to our GitHub and a tutorial later today. Thanks to the @CorelliumHQ team ❤️🙏 pic.twitter.com/uBDbDmvJUG— Chris Wade (@cmwdotme) January 20, 2021
It was over the weekend that Corellium began posting their work of Linux booting on the Apple M1. It's now to the extent they can get Ubuntu's Raspberry Pi ARMv8 desktop image booting on Apple M1 hardware to a GUI albeit without any hardware acceleration. The Apple M1 graphics support will remain the big elephant in the room given the big challenges involved in bringing up an entirely new OpenGL/Vulkan driver stack and needing to carry out all of that reverse engineering first under macOS.
The initial patches posted for review to the Linux kernel mailing list include the necessary bits for FIQ interrupts, WFI hook, a new driver as the Apple AIC interrupt controller, and an Apple CPU start driver. Still being worked on is the DeviceTree portion, other driver support for different components on these new Apple Macs, and related bits. Those initial RFC patches for the Linux kernel can be found via lore.kernel.org.
It will likely be a while before everything is well reviewed, tested, and upstreamed, but at least good progress is being made. It's surprising and exciting to see how quick this bring-up is happening albeit the GPU support will be a lengthy journey for those hoping to use these ARM-based Macs one day as a viable Linux desktop/laptop.
Corellium's work-in-progress code for their Apple M1 kernel work is being staged via the Linux-M1 Git repository.