
After a few very active days, the developers at the Corellium security start have kept their word so far to publish Apple Silicon patches on the Linux kernel mailing list for a possible upstreaming in the future, allowing the kernel Linux to start with Apple M1 hardware.
Corellium developers sent out their first set of seven patches under the “comment request” flag this morning. These are the minimum changes required for Linux to boot on the current Apple M1 ARM hardware.
Linux is now fully usable on the Mac mini M1. Boot from USB a full Ubuntu desktop (rpi). The network works through a USB dongle c. The update includes support for USB, I2C, DART. We will post changes to GitHub and a tutorial later today. thanks to @CorelliumHQ team ❤️🙏 pic.twitter.com/uBDbDmvJUG
– Chris Wade (@cmwdotme) January 20, 2021
Over the weekend, Corellium began posting its Linux startup work on the Apple M1. It is now able to get the booting of the Ubuntu Raspberry Pi ARMv8 desktop image on the Apple M1 hardware on a graphical interface, although without any hardware acceleration. The Apple M1 graphics support will remain the big elephant in the room, given the great challenges involved in launching a new OpenGL / Vulkan driver package and the need to perform all that reverse engineering under macOS first.
The initial patches posted for review on the Linux kernel mailing list include the bits needed for the FIQ outages, the WFI hook, a new driver as an Apple AIC outage controller, and an Apple processor starter driver. We are still working on the DeviceTree portion, other support for various components on these new Apple Macs and associated bits. Those initial RFC patches for the Linux kernel can be found at lore.kernel.org.
It will probably be some time before everything is well reviewed, tested and hidden, but at least good progress is being made. It’s surprising and interesting to see how fast this bringing happens, although GPU support will be a long journey for those hoping to use these ARM-based Macs one day as a viable Linux desktop / laptop.
Corellium’s ongoing work code for their work with the Apple M1 kernel is staged through the Linux-M1 Git repository.