Builds a minimal CentOS Stream 9 image to run on Apple M1 systems. Kudos to Leif Liddy and Asahi community for helping make this happen.
This is completely unofficial and on a best-effort basis. It's for personal usage, but if you'd like to use it and contribute great.
dnf install mkosi arch-install-scripts systemd-container zip qemu-user-static
note: qemu-user-static
is not needed if building the image on an aarch64
system.
note: at present building the arch-install-scripts rpm is only available on fedora 35/36
Make sure to update your macOS to version 12.3 or later, then just pull up a Terminal in macOS and paste in this command:
curl https://ecurtin.fedorapeople.org/centos.sh | sh
Notes:
-
The root password is centosstream
-
On the first boot the
asahi-firstboot.service
will run and will take around45 seconds
to complete.
Do not shutdown or reboot the system before this service has completed. -
The Asahi Linux-related RPM's (and Source RPM's) used in this image can be found here:
https://ecurtin.fedorapeople.org/asahi-linux/9-stream/ All RPM's signed are signed by a GPG key.
The repo config can be found here:
https://ecurtin.fedorapeople.org/asahi-linux/asahi-linux.repo -
The CentOS Stream kernel config used is nearly identical to the kernel config used by the Asahi Linux project (a few CentOS Stream specific modifications were made):
https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/config
-
systemd-networkd
is the sole network service that's installed in this image.
Basic config files for theeth0
andwlp1s0f0
interfaces are included in the image
ie.
/etc/systemd/network/eth0.network[Match] Name=eth0 [Network] DHCP=yes
The
eth0
interface is what an external usb ethernet adapter "should" be assigned to. -
Use
iwd
to setup the wifi interface (see info below)
Bring up a Terminal in macOS and run the following Asahi Linux script:
curl -L https://alx.sh/wipe-linux | sh
You should definitely understand what this script does before running it.
You can find more info here:
https://github.com/AsahiLinux/docs/wiki/Partitioning-cheatsheet