Corellium has adapted Linux to run on computers with Apple M1 chip

Corellium, a Sandcastle project dealing with Linux and Android porting for iPhone, presented a Linux build adapted to run on new Apple computers equipped with the M1 chip. Linux kernel variant with support for Apple M1 chip published under GPLv2 license, and patches submitted for inclusion in the main core.

Corellium has extensive experience in porting Linux to Apple chips used in mobile devices such as the iPhone. Early on in porting, experimenters were encouraged by the fact that many of the Apple M1’s components are based on technologies already used by Apple in other SoCs. But in the process of writing the drivers, it became clear that everything is not so simple and the Apple M1 chip includes many non-standard solutions. Linux support for 64-bit ARM SoCs relies on common blocks and firmware interfaces, but the Apple M1 barely uses typical designs.

For example, in conventional ARM SoCs, the activation of CPU cores is performed through the PSCI (Power State Coordination Interface) interface provided by the firmware, and in Apple M1 it requires manipulation of the MMIO register. The Apple M1 also uses its own AIC (Apple Interrupt Controller) interrupt controller, which is incompatible for the most part with standard ARM GICs, and a different mechanism for binding timer interrupts. Moreover, to organize interaction between several processors, separate registers are used that control IPI (inter-processor interrupts).

Ready for downloading on Mac Mini M1 with Apple M1 chip rootfs image built from Ubuntu Linux build for Raspberry Pi. To install, you need to copy the image to a USB drive, connect this drive to the USB-C port and boot the computer into 1TR (recovery OS) mode, holding down the Power button while booting. After the command line appears, you need to run the script linuxsetup.sh , which will install the kernel and configure the environment. Then Linux will boot (login “pi” and password “raspberry.”). To return macOS, you must execute the command “bputil -n” in 1TR mode.


Developers from Corellium are ahead of the Asahi Linux

/Media reports.