
After a very active past few days, developers of security boot Corellium have followed their word so far by publishing the Apple Silicon patches to the Linux kernel mailing list for possible upstreaming in the future, allowing the Linux kernel to boot with Apple M1 hardware .
The developers of Corellium released their first set of seven patches this morning under a “request for comment” banner. These are the minimum changes necessary for Linux to boot on the current Apple M1 ARM-based hardware.
Linux is now fully usable on the Mac mini M1. Boot from USB a full Ubuntu desktop (rpi). Network works via a USB c-dongle. Update includes support for USB, I2C, DART. We will be making changes to our GitHub and a tutorial later today. Thanks to @CorelliumHQ team ❤️🙏 pic.twitter.com/uBDbDmvJUG
– Chris Wade (@cmwdotme) January 20, 2021
It was over the weekend that Corellium began posting their Linux boot work on the Apple M1. It’s now that they can boot Ubuntu’s Raspberry Pi ARMv8 desktop image 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 major challenges involved in setting up a brand new OpenGL / Vulkan driver stack and having to do all that reverse engineering under macOS first.
The first patches posted to the Linux kernel mailing list for review include the necessary bits for FIQ interrupts, WFI hook, a new driver like the Apple AIC interrupt controller, and an Apple CPU boot driver. The DeviceTree part, other driver support for various components on these new Apple Macs and related parts are still being worked on. Those first RFC patches for the Linux kernel can be found at lore.kernel.org.
It will probably take a while for everything to be properly revised, tested and upstream, but at least good progress is being made. It’s surprising and exciting to see how quickly this release takes place, although GPU support will be a long journey for those who ever want to use these ARM-based Macs as a viable Linux desktop / laptop.
Corellium’s work-in-progress code for their Apple M1 kernel work is staged through the Linux M1 Git repository.