Replying to @mv_oripoke
No, it’s our bootloader for Asahi, github.com/AsahiLinux/m1n1 but because Hector Martin (former contributor) came from console home brew community I think its name was derived from that.
Replying to @TheRabug
that was actually the vibe we’re going for, took some design inspo from Win11 PE/OOBE
Replying to @TheMG95
yes, I’m part of it and to take a break for kernel dev I’m making a GUI installer! currently this is the figma mockup my friend helped with and I’m trying to replicate it in HTML/CSS/JS (we’re going to use a WKWebView) now!
Replying to @TwisstedToast
I was waiting for my LKML patches (Asahi upstreaming) to be reviewed and wanted to do something fun to fill the time! :)
Replying to @willfaustcuber
The M3 (and M4) GPU is different to the M1/M2 that HoneyKrisp was designed for, but those in Asahi working on porting it have actually made some cool progress recently (it's not my area). They're actually giving a talk on the 29th: indico.freedesktop.org/event…
Replying to @zippgod24
No, activation is required to set the custom boot object so that other OSes (like Asahi Linux, and Fuchsia as shown here) can boot.
6/6 Here's the code: github.com/IntegralPilot/fuc…
The core changes described here are in the "apple-t8122" branch, while some hacks I needed to get the framebuffer to work for the nice demo are in the "rest" branch.
5/6 Finally, a driver had to be made for Apple's S5L UART. As fully talking to the USB controllers would be too much for this side project, I left m1n1 as hypervisor in EL2, and within EL1 Fuchsia talks to a virtualised Apple S5L UART which m1n1 sets up.
4/6 Another quirk with Apple's interrupts is that they route architectural timers and IPIs as FIQs instead of IRQs! I had to modify Zircon’s exception tables and interrupt masking to touch the F bit in DAIF and hook platform_fiq to use Apple's custom sysreg (S3_5_c15_c1_1)
3/6 One of the unique things about Apple's hardware is that they don't use the normal ARM interrupt controller (GIC). They have a custom interrupt controller, called the AIC. It needed a fully custom driver, and an increase to the Zircon MAX_INTERRUPTS, because M3 has 1,600!
2/6 For Asahi, we have a custom bootloader and hypervisor called m1n1. It can boot things using the ARM64 Linux Boot Protocol. Luckily, Fuchsia has a "boot shim" that can enable it to be started this way. But then, we have to teach Zircon about Apple's custom hardware.
Pink + Purple == Apple? 🌸🍎
Got Google's Fuchsia OS booting on an Apple M3 MacBook, through to userspace!
Apple's interrupt controller (AIC), timer, and m1n1 virtual UART are working on native hardware.
Here's how it works:
Replying to @IntegralPilot @bakathesussy
iMacs are supported too
Replying to @bakathesussy
it's finally ready!! :)
xitter.cf/IntegralPilot/status/2…
Replying to @cherrypiemiko
awesome! LMK how it goes and if you've got any feedback or suggestions :)
Replying to @luxus
LOL that happens a lot, happy coincidence that 2 people with the same name are so into tech!
Replying to @awethebird @i486nugget
On my M3 I’m currently using a 50GB partition, I feel the lowest you can go with enough room to do stuff is ~40GB



