ifykyk
  • Python 91.3%
  • Shell 8.7%
Find a file
Sasha Finkelstein c53d66dc71 main: Add an ability to install in a vm
Does not provide a functional install, but simplifies testing some
installer features.

Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
2026-06-12 23:52:06 +02:00
.github/workflows CI: add manual uefi-only boot.bin deploy workflow 2026-03-04 22:42:00 +01:00
artwork@634948f40a Initial commit 2021-08-13 02:24:49 +09:00
asahi_firmware firmware: Preserve ALS calibration on re-extraction 2026-05-20 18:11:43 +02:00
m1n1@e266c09ee5 m1n1: bump to v1.5.2 2026-02-15 11:48:08 +01:00
releases Add releases/ dir 2024-04-29 19:22:52 +09:00
scripts Move installer data to a separate repo 2025-05-15 16:24:48 -04:00
src main: Add an ability to install in a vm 2026-06-12 23:52:06 +02:00
tools Sigh. 2022-03-27 15:25:47 +09:00
.gitignore Add initial packit config 2025-02-19 09:31:59 -08:00
.gitmodules Drop u-boot, update m1n1 2022-03-10 02:48:08 +09:00
.packit.yaml Add initial packit config 2025-02-19 09:31:59 -08:00
build.sh build: bump libffi to 3.5.2 2026-02-15 11:48:08 +01:00
LICENSE Initial commit 2021-08-13 02:24:49 +09:00
README.md README: fix installer-data link 2026-05-30 13:59:24 +02:00
setup.py asahi_fwextract: add console entrypoint 2022-10-31 18:23:06 +09:00
test.sh test.sh: Run from target directory 2022-07-12 00:05:16 +09:00

Asahi Linux installer

The Asahi Linux installer provides a way to install Asahi Linux on Apple Silicon Macs. These systems have a bespoke boot process that requires special considerations to support alternative operating systems. The Asahi Installer takes care of preparing the system for the installation, downloading an image of the distribution to install and laying it on disk.

This repository provides the installer itself, supporting scripts, and the asahi_firmware Python module (which is also used by asahi-scripts).

Building

Run ./build.sh, which will produce an installer tree under releases/. By default this will build m1n1 with chainloading support. You can optionally set M1N1_STAGE1 to a prebuilt m1n1 stage 1 binary, and LOGO to a logo in icns format. These are mostly useful for downstream distributions that would like to customize or brand the installer. By default, the build will fetch required dependencies from the Internet and cache them under dl/. If this isn't desired, place the required files there before running the build.

The reference installer at https://alx.sh is deployed from the latest tag of this repo by .github/workflows/release-prod.yaml. The dev installer at https://alx.sh/dev is deployed from the latest push to main by .github/workflows/release-dev.yaml.

Bootstrapping and branding

The installer is meant to be executed via a bootstrap script. We provide reference implementations for local development and for alx.sh (prod, dev). Following our distribution guidelines, downstream distributions are encouraged to host their own modified copy of these, alongside their downstream build of the installer and their installation images. Downstreams will also want to customize the variable definitions at the beginning of the script, as those will be consumed by the installer and used for its branding. These include:

  • VERSION_FLAG: a URI pointing to the latest file within the installer tree
  • INSTALLER_BASE: a URL pointing to your installer tree
  • INSTALLER_DATA: a URI pointing to your installer medatata file (see asahi-installer-data for the one we're using for alx.sh)
  • INSTALLER_DATA_ALT: optionally, a URI pointing to an alternative location for your installer metadata file; this can be useful in locations where the primary location might be blocked by local network policies
  • REPO_BASE: a URI pointing to your OS images root (meaning, the parent folder of the relative paths referenced inside the metadata file)
  • REPORT: a URI pointing to the stats server for installation metrics collection
  • REPORT_TAG: a string used to identify your distribution for metrics collection

License

Copyright The Asahi Linux Contributors

The Asahi Linux installer is distributed under the MIT license. See LICENSE for the license text.

This installer vendors python-asn1, which is distributed under the same license.