HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
AsahiLinux
docs
HTML2020–2026
AsahiLinux / docs

docs

Asahi Linux documentation

88Distinct people
111Mentions
1Explicit recommenders
2.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Asahi Linux documentation

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

marcan of the Asahi Linux project got into a discussion on reddit about this, and says that when it comes to hardware, you just can’t know. > I can't prove the absence of a…

adamomada used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:45:45 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year111 dated mentions

Observed mentions: 2020-12-30 09:47:00 UTC to 2026-04-23 11:53:56 UTC.

0102030402020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 21 mentions; 4 submissions, 17 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 31 mentions; 3 submissions, 28 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 43 mentions; 2 submissions, 41 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 13 mentions; 2 submissions, 11 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC110
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC21417
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC31328
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC43241
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC13211
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC211

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
Asahi Linux documentation repository This is the Asahi Linux documentation repository. Documentation structure Our documentation is organised into categories. alt: Alternative operating system/Linux distribution support documentation should go here. fw: Documentation on vendor-controlled firmware and firmware interfaces should go here. hw: Any documentation related to hardware belongs here. This is further split into subcategories: cpu: Application processor documentation devices: Documentation relating to specific Mac models peripherals: hardware found in Apple Silicon Macs but not the SoC itself soc: hardware blocks integrated into Apple Silicon SoCs platform: Documentation that applies across the Apple Silicon platform project: Project admin documents and stuff unrelated to hardware or software sw: Documentation for non-firmware software Usage The site is generated using Zensical. Zensical is installed as a Python package. If your distro does not package it, it is available via pip. To build the docs locally for testing, simply install Zensical and run $ zensical serve The website is rebuilt by the CI on every commit and served via GitHub Pages.
Read the full README on GitHub

What Hacker News says

21 sources
He’s talked about this quite extensively in the past. Here’s a link to the Asahi project docs: https://github.com/AsahiLinux/docs/wiki/M1-vs.-PC-Boot > iBoot is the main bootloader on M1 machines. It is small. It cannot understand external storage. It does not support USB. It does not have a UI. All it can do is boot from internal storage, and show an Apple logo, a progress bar, and a few error messages. IIRC he’s said before that iBoot doesn’t even have keyboard support; it can tell if you’re holding down the power button to enter recovery mode, but that’s it. There is no workaround for this; it is not possible to boot over USB if the bootloader does not speak USB.
In Apple Silicon Macs can't boot from external drive if internal drive failed
Note that this method of installation takes a couple shortcuts regarding disk partitioning: - It requires cannibalizing an existing macOS installation, replacing its kernel with the u-boot. Assuming you don’t want to replace your primary macOS installation, you’ll have to partition your disk and install another macOS, which takes a couple hours and wastes about 70GB of disk space. - It can only boot from USB, since no Linux partition is set up. (This isn’t much of an issue right now because the M1 SSD controller has not yet been reverse-engineered, but it will be soon.) The Asahi Linux project has a more detailed set of instructions for project developers to set up a debugging environment, following roughly the same steps. [0] However, they are in the process of replace this with a ‘curl | sh’-style install script [1] in order to simplify
Read the rest
the process for end users. The install script will create and setup the boot partition itself instead of requiring a secondary macOS installation, so it will be much faster and not waste disk space. Doing this requires manually creating several disk partitions for the macOS bootloader, downloading a firmware image from Apple, and copying a bunch of firmware blobs into the right places across those partitions, so it’s not really suited for a manual install. Note also that Corellium’s implementation was more of a proof-of-concept than something designed for long-term use. If you want to see “how Linux does things” you should be looking at the Asahi project, which is being upstreamed into mainline Linux and is already much further along in development than Corellium’s demo. [0]: https://github.com/AsahiLinux/docs/wiki/Developer-Quickstart... [1]: https://github.com/AsahiLinux/asahi-installer
In NetBSD/Evbarm on Apple Silicon
It's an implementation-defined register, which means it's up to Apple to define it. We have no idea what it does; we haven't observed any visible effects from flipping those bits. Given that it's per-cluster, we can infer that it has something to do with cluster-specific logic. Perhaps memory interface or power control. There are hundreds of Apple implementation-defined registers; we're documenting them as we learn more about them [0] [1] [2] [0] https://github.com/AsahiLinux/m1n1/blob/main/tools/apple_reg... [1] https://github.com/AsahiLinux/docs/wiki/HW%3AARM-System-Regi... [2] https://github.com/AsahiLinux/docs/wiki/HW%3AARM-System-Regi...
In M1racles: An Apple M1 covert channel vulnerability
That was one thing, and still undocumented. Suddenly you can also access all of these other things: https://github.com/AsahiLinux/docs/wiki/HW:Apple-Instruction... Plus their funky intel-emulation related CPU features which introduce architectural EL0 state (SSE-specific FP flags, AP flags). Plus their hardcoded VHE=1 spec breakage now becomes relevant at EL2. And almost certainly more things we haven't figured out yet.
In Speculating the entire x86-64 instruction set in seconds with one weird trick
One of the things I did when porting it to the M1 was "rm nand.c"... :-) This thing actually goes back further than the name "mini" and BootMii; in the beginning it was a never-released thing called "ios_stub" and actually served the very same purpose on the Wii, to experiment with the hardware over a USB Gecko (which was a USB serial-like interface that plugged into the memory card slot) using the very same Python approach. That code hasn't changed much in checks Git history 13 years... though it obviously flipped endianness on its way from the Wii to other ARM32 platform experiments, before making it to ARM64 and Apple Silicon [1]. The Python side is still mostly the same too, other than getting ported from Python 2 to Python 3 and growing a bunch of utility functions. The Python-side malloc implementation actually got written when I wa
Read the rest
s using all this to experiment with a Chinese MP4 player. That version ended up being called "minimp" [2]. Another thing that happened on the way to the M1 was deleting the "P_RENDER_BUNNY" command [3]. So yeah, what I'm doing now on the M1 is literally, down to the code, shell.py, and proxy command names, the same damn thing I was doing 13 years ago on the Wii. AES engine [4] back then, IRQ controller [5] now... though evidently I put a bit more effort into the MediaWiki register documentation templates back then; the GitHub wiki is a bit more limited... :-) [1] https://mrcn.st/t/ios_stub_vs_m1n1.png [2] https://marcan.st/2009/06/sunplus-spmp305x-media-player-hack... [3] https://www.youtube.com/watch?v=3tg7KSSUl8Q [4] https://wiibrew.org/wiki/Hardware/AES_Engine [5] https://github.com/AsahiLinux/docs/wiki/HW:AIC
In Asahi Linux Progress Report: January/February 2021
That "bricks" your Mac, and you have to do a DFU restore with Apple Configurator 2 to recover from it. The SSD on these Macs contains system firmware, including the boot picker and recovery mode. Do not wipe the entire top-level block device. They cannot boot from external media, by design. M1 Macs are not PCs, and you shouldn't blindly apply whatever you think you know from the PC world. Their low-level design is much closer to an embedded device like a Raspberry Pi, minus the SD card slot. https://github.com/AsahiLinux/docs/wiki/M1-vs.-PC-Boot It's hard to truly brick these things (you need to wipe NOR flash for that, and even then Apple can fix it without taking them apart, but you can't, because if you wipe NOR flash calibration data is gone and it has to go back through part of the manufacturing test process), but wiping the entire S
Read the rest
SD isn't going to help you. If you start messing at that level, you'd better be prepared with another Mac and Apple Configurator 2 to get a proper clean start.
In Don’t format a drive of M1 Macs from recovery mode
M1 Macs are not like Intel macs, Apple have done a dismal job of documenting them, and their "for users" tooling is still buggy and broken because the launch was clearly rushed. Here is what you need to know to actually understand these things: The SSD has 3 partitions. Each partition is an APFS container. Each container contains multiple APFS volumes. Your OS, and everything you care about, is on the second partition/container. The first partition contains boot configurations. The third partition contains the One True Recovery OS (1TR), which includes the Boot Picker menu (that thing you get when you hold down the power button). These partitions form part of system firmware, think of them as part of UEFI/BIOS. Do not touch these. If you mess up those volumes, the only way to recover the machine is via Apple Configurator 2 from another Ma
Read the rest
c (DFU mode). Disk Utility, the GUI, is broken sometimes. If something doesn't work properly there, ditch it and use the command line. Both Disk Utility, the GUI, and diskutil, the CLI, will hide the first and last APFS containers from you to stop you from shooting yourself in the foot. They're still there, just hidden from the main listing. You can get info for them. Be careful with that. To do OS reinstalls, you want to be in 1TR. This is not the macOS recovery. Hold down the power button and pick Startup Options from there. Then you can use diskutil (preferably the command line version). You should delete the whole APFS container (disk0s2 usually) corresponding to your install, which will contain multiple volumes. Re-create it as APFS. That will create a container with one volume. You can then install to it and the macOS installer will create all the other volumes. Additionally, the SEP data is stored separately from the OS (in one of the volumes of the first container). To wipe that, after wiping the partition and before reinstalling, run `xartutil --erase-all`. I've never tried that myself, and I suspect it's not really required because a reinstall should start with a fresh store, but it's probably a good idea to try if you have authentication/user-related issues after reinstalling. There is also OS recovery, which is the recovery instance that comes with an OS install. It looks exactly the same as 1TR, but it's not the same, and this is highly confusing. For any serious digging around, you want to be in 1TR. Booting holding down the power button will get you there, usually; after a failed macOS boot I've seen it go into regular recovery anyway. To be absolutely sure, boot into 1TR (holding down power, then startup options), then do a clean shutdown, and boot again the same way. More info on what's on the SSD of these things: https://github.com/AsahiLinux/docs/wiki/SW:Storage
In Don’t format a drive of M1 Macs from recovery mode
The M1 boot process is very different from Intel macs. In fact, they do not support external boot disks at all, by design. This is because the built-in firmware is extremely minimal, and does not contain drivers for anything but the internal SSD. It doesn't even have a keyboard driver, or any kind of GUI other than showing the Apple logo and "Entering startup options" text, and some error screens. All of this is by design, for security - UEFI is an enormous hairball of code, especially on Intel macs, and almost impossible to secure properly for that reason. When you boot into the "Startup Options" menu, you are booting into a special macOS partition in the internal SSD. M1 Macs use macOS as the moral equivalent of the UEFI setup menu. That boot picker that looks like the UEFI boot picker on Intel Macs? Yeah, that's a full-screen app on ma
Read the rest
cOS made to look similar. So how does external boot work? The "blessing" process done by the Startup Options screen involves copying the entire macOS Preboot partition - iBoot2 OS loader, Darwin kernel, auxiliary CPU/device firmwares, device tree, and some additional stuff - to the internal SSD. It then creates a local, signed boot policy that allows system firmware to boot this macOS install. You aren't booting from an external disk. You are booting from the internal SSD, with the root filesystem on the external disk. Additionally, the integration of the macOS user credentials with the SEP means that you can't "just" take an install made on another machine and use it on a separate one. It involves importing user credentials into the local machine. This process isn't implemented properly yet. As you might expect, this entire mechanism introduces a ton of corner cases around updates, boot selection, etc., and it is still very buggy and broken. The M1 launch was, when you look at details such as this, very obviously rushed. Further reading for those interested: https://github.com/AsahiLinux/docs/wiki/M1-vs.-PC-Boot https://github.com/AsahiLinux/docs/wiki/SW:Boot https://github.com/AsahiLinux/docs/wiki/SW%3AStorage I'm actually eagerly waiting for Apple to fix this in future system firmware releases, because my plan for installing Asahi Linux for end users with a minimal amount of fuss is to abuse the mechanism to adopt foreign macOS installations. This elides the current need to have a completely wasted, 60+GB macOS install as a dummy to actually launch Linux (we could clean it up and resize it to get the space back, but it still makes for a very annoying install process that I'm hoping to avoid). On the plus side, this dual-booting mechanism is very cleverly designed to separately secure different OSes, so you do not need to downgrade security on your machine to install an unsigned OS like Linux. It is a separate OS with a separate security policy. You can keep your macOS install fully secure, and capable of running iOS apps and other actions that require secureboot, and install Linux (or another macOS with a custom kernel, kexts, etc) in parallel, completely unintrusively. So kudos to Apple for designing this whole thing, and for opening it up for us to use :)
In External boot disks still don’t work properly with M1 Macs
The goal of the Asahi Linux project is to develop clean, maintainable, upstreamed, first-class support for Apple Silicon on Linux, that works as well or better than Linux on x86. From the beginning I said we weren't going for a tech demo, but for the long-term product. We are also documenting the hardware here: https://github.com/AsahiLinux/docs/wiki I don't know what Corellium's goal is, since it isn't clear what they get out of this as a company other than PR, nor have they interacted with the open source community in any way whatsoever to date (I publicly invited them to our IRC channels and they've yet to show up), nor attempted to upstream any of their work (a third party has and that didn't go so well for the first version). They seem to be going for the tech demos and PR angle, judging by their actions and codebase so far :) E.g I
Read the rest
spent most of Saturday debugging the source of L2 memory subsystem bus error exceptions in our bootloader, m1n1. Corellium's codebase and preloader just turns off reporting those errors entirely, all the way into Linux. There are very, very different approaches going on here. FWIW, Corellium had been developing their kernel in secret for A14 devices (that's the extremely similar iPhone version of the M1) for months now, plus had previous versions for older Apple SoCs, so it's not like they did this in two weeks; rather that they are currently piecewise releasing and adapting code they've had for a while and developed on jailbroken devices, while we/Asahi Linux started from scratch mid-January when Apple finally published the tools to run your own kernels on M1 Macs. I'm happy to pull any drivers they develop and release that are clean and upstreamable, but we're working step by step and I'm not in a race with them; we're in this for the long run and I want to make sure anything we work on is the right way of doing things. We're also working on GPU acceleration, which is a hard requirement for a usable desktop, and which as far as I know Corellium have nothing on. Alyssa is working on the userspace side already; I'll jump on the kernel side as soon as the necessary kernel dependencies are in. I'm currently writing a quick start guide to help other kernel devs with interest get started with development, and in the coming weeks I will be taking some time to develop an open hardware design for a serial debug cable for these machines, and building some prototypes to send to other kernel devs to help bootstrap community members who want to help. Today I'm also working on using one M1 machine as a serial terminal for another, with a standard type C cable (it should be possible AIUI, but I need to reverse engineer some details to get the right commands sent to the Type C controller) - not the cheapest solution but certainly the lowest effort one right now, if you have the money for two M1 boxes.
In Building XNU for macOS 11.2 (Intel and Apple Silicon)
When people talk about Linux on M1, is that typically in reference to the chipset, or the entire laptop? The distinction could cause confusion if Asahi Linux (which looks very clean and appears to be attempting to implement support for the laptop and all associated peripherals[1]) and Corellium (which has a bootable implementation on the chipset by the looks of it) have slightly different goals in mind. [1] - https://github.com/AsahiLinux/docs/wiki/Tasks
In Linux Ported to the M1

Showing the 15 most recent of 21 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.