multiple Linux and BSD installations.
# Artefacts
-If you don't want to use the prebuild artefacts, you can build them yourself using the [bootstrap.sh](https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blob_plain/refs/heads/master:/bootstrap.sh) script.
+If you don't want to use the prebuild artefacts, you can build them yourself
+using the following scripts:
-# Kernel header files
-The kernel header files can be found here: <https://thomas.glanzmann.de/asahi/>
+ - prepare_rust.sh - Prepares a rust installation suitable for kernel compilation
+ - m1n1_uboot_kernel.sh - Builds m1n1, u-boot and the kernel including gpu support.
+ - mesa.sh - Creates mesa packages
+ - bootstrap.sh - Creates Debian root and live filesystem
+ - meta.sh - Meta package which makes sure that we always get latest and greatest kernel.
# Asahi installer
* Configure wifi by editing the wpa_supplicant.conf, enabling the interface and remove the # before allow-hotplug to enable it during boot.
vi /etc/wpa_supplicant/wpa_supplicant.conf
- ifup wlp1s0f0
+ ifup wlan0
vi /etc/network/interfaces
* Reboot to see if grub was correctly installed
* If you have a EFI binary on the NVMe and want to boot from the usb stick, you need to interrupt u-boot on the countdown by pressing any key and run the following comamnd to boot from usb:
- run bootcmd_usb0
+ env set boot_efi_bootmgr; run bootcmd_usb0
* Reboot with the USB stick connected, the Debian livesystem should automatically start, if it doesn't load the kernel and initrd manually, you can use tab. For x try 0,1,2,...
# FAQ
-* If I install Debian, will it still be relatively easy to update the Asahi work as it develops?
+## Why has there been no kernel update?
+
+For Debian stable I'm currently unable to update the kernel due to the fact
+that the kernel requires new mesa packages and the new mesa package needs too
+many dependencies which are not in Debian stable and I'm not willing to add
+that many new packages. So I recommend that if you want the latest asahi
+kernel, mesa, sound and other packages, switch to testing and use Thomas
+Renards packages for testing. <https://wiki.debian.org/Teams/Bananas>
+
+## How to enable spakers?
+
+Currently speakers are only supported on M1 air. Install the necessary packages:
+
+ apt update
+ apt upgrade -y
+ apt dist-upgrade -y
+ apt install -y alsa-ucm-conf-asahi speakersafetyd
+ reboot
+
+After the reboot I need to restart the speakersafetyd in order to hear sound out of the speakers:
+
+ sudo systemctl restart speakersafetyd
+
+## Does it work on M2?
+
+Yes, M3 is not yet supported.
+
+## Are you still maintaining this?
+
+Yes, I do and will continue doing this until there is an official Debian installer.
+
+## If I install Debian, will it be easy to update the Asahi work as it develops?
Yes, long answer below.
For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt>
-Later it might be necessary to upgrade the stub parition in order to
+Later it might be necessary to upgrade the stub partion in order to
support the GPU code. As soon as that happens, I'll add the
instructions and a video in order to do so, but short version is:
So, you never need to reinstall Debian. Kernel updates are easy, stub
updates are a little bit more cumbersome but also seldom.
+
+## How do I compile zfs on apple silicon debian?
+
+- In order to build zfs you need the rust environment. So from the m1-debian
+ repository you have to run these scripts:
+
+ ./dependencies.sh
+ ./prepare_rust.sh
+
+- Prepare your zfs build environment. You need to replace
+ /home/sithglan/work/m1-debian with your path to
+ your m1-debian checkout:
+
+ export CARGO_HOME="/home/sithglan/work/m1-debian/build/cargo"
+ export RUSTUP_HOME="/home/sithglan/work/m1-debian/build/rust"
+ source "/home/sithglan/work/m1-debian/build/cargo/env"
+
+- Tell zfs which version of clang you use to compile the kernel:
+
+ export KERNEL_LLVM=-15
+
+- Checkout ZFS:
+
+ git clone https://github.com/openzfs/zfs
+ cd ./zfs
+ git checkout master
+
+- Apply the following patch:
+
+ diff --git a/META b/META
+ index 3919b0d..67c9f7d 100644
+ --- a/META
+ +++ b/META
+ @@ -4,7 +4,7 @@ Branch: 1.0
+ Version: 2.2.99
+ Release: 1
+ Release-Tags: relext
+ -License: CDDL
+ +License: GPL
+ Author: OpenZFS
+ Linux-Maximum: 6.4
+ Linux-Minimum: 3.10
+
+- Build ZFS:
+
+ sh autogen.sh
+ ./configure
+ make -s -j$(nproc)
+
+- Follow the instructions on <https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html> how to install it.
+
+## What about gnome?
+
+You need an unpriviledged user to log in. You should delete /etc/network/interfaces in order to manage the network under gnome. If you don't have an US keyboard, you can change the settings in Gnome > Settings > Keyboard.
+