1 This pages explains how to install Debian on Apple Silicon machines.
 
   5 - There is a new installer for Debian testing. In order to try exchange 'https://tg.st/d' with 'https://bananas-archive.debian.net/install'.
 
   7 [Debian on Apple M1/M2: status and call for testers](https://lists.debian.org/debian-devel/2025/06/msg00241.html)
 
  10 The USB-A Port on the Mac Mini will not work in u-boot and grub.  The two
 
  11 additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub
 
  12 and Linux. In order to install Linux on a FileVault-enabled Mac run the
 
  13 installer from Recovery open Disk Utility > Expanding "Macintosh HD" >
 
  14 Selecting locked volume > click "Mount". Debian does not include the choosen
 
  15 EFI patch. As a result it will always pick the first ESP partition. This can be
 
  16 problematic if you're using multiple ESP partitions for example when having
 
  17 multiple Linux and BSD installations.
 
  20 If you don't want to use the prebuild artefacts, you can build them yourself
 
  21 using the following scripts:
 
  23         - prepare_rust.sh - Prepares a rust installation suitable for kernel compilation
 
  24         - m1n1_uboot_kernel.sh - Builds m1n1, u-boot and the kernel including gpu support.
 
  25         - mesa.sh - Creates mesa packages
 
  26         - bootstrap.sh - Creates Debian root and live filesystem
 
  27         - meta.sh - Meta package which makes sure that we always get latest and greatest kernel.
 
  31 [Video Recording](https://tg.st/u/debian_asahi_installer.mp4)
 
  33 * Poweroff your Mac. Hold and press the power button until you see a wheel chain and Options written below. Approx 20 seconds.
 
  35 * In the boot picker, choose Options. Once loaded, open a Terminal under Utilities > Terminal
 
  37 * Run the asahi installer and select Debian:
 
  39         curl -sL https://tg.st/d | sh
 
  41 * **Or* run the Debian testing installer:
 
  43         curl -sL https://bananas-archive.debian.net/install | sh
 
  45 * Follow the installer instructions.
 
  47 * Once Debian is booted log in as root without password and set a root password
 
  52 * Configure wifi by editing the wpa_supplicant.conf, enabling the interface and remove the # before allow-hotplug to enable it during boot.
 
  54         vi /etc/wpa_supplicant/wpa_supplicant.conf
 
  56         vi /etc/network/interfaces
 
  58 * Reboot to see if grub was correctly installed
 
  62 * Install a desktop environment for example blackbox
 
  65         apt-get install -y xinit blackbox xterm firefox-esr lightdm
 
  67 * Create yourself an unprivileged user
 
  69         useradd -m -c 'Firstname Lastname' -s /bin/bash <username>
 
  72 * Optional install sshd. You can not log in as root, but only with your unprivileged user
 
  75         apt install -y openssh-server
 
  77 * Consult the **[/root/quickstart.txt](https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blob_plain/refs/heads/master:/files/quickstart.txt)** file to find out how to do other interesting things.
 
  81 [Video Recording](https://tg.st/u/live.mp4)
 
  85         - USB Stick. this is what this guide assumes, but it is also possible
 
  86           to run the Debian livesystem from another PC using m1n1 chainloading.
 
  87           But if you know how to do that, you probably don't need this guide.
 
  88         - If possible use an Ethernet Dongle, less typing.
 
  90 * Create USB Stick with a single vfat partition on it and untar the modified Debian installer on it. Instructions for Linux:
 
  92         # Identify the usb stick device
 
  96         parted -a optimal $DEVICE mklabel msdos
 
  97         parted -a optimal $DEVICE mkpart primary fat32 2048s 100%
 
 100         curl -sL https://tg.st/u/asahi-debian-live.tar | tar -C /mnt -xf -
 
 103 In order to format the usb stick under Macos, open the disk utility, right-click on the usb stick (usually the lowest device in the list) and select erase. Choose the following options:
 
 107         Scheme: Master Boot Record
 
 109 Than open a terminal, and run the following commands:
 
 113         curl -sL https://tg.st/u/asahi-debian-live.tar | tar -xf -
 
 115 * You need to run the asahi installer and have either an OS installed or m1n1+UEFI.
 
 117 * 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:
 
 119         env set boot_efi_bootmgr; run bootcmd_usb0
 
 121 * 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,...
 
 123         linux (hdX,msdos1)/vmlinuz
 
 124         initrd (hdX,msdos1)/initrd.gz
 
 127 * Log in as **root** without password.
 
 129 * Consult the **[/root/quickstart.txt](https://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blob_plain/refs/heads/master:/files/quickstart.txt)** file to find out how to get the networking up, etc.
 
 133 ## Why has there been no kernel update?
 
 135 For Debian stable I'm currently unable to update the kernel due to the fact
 
 136 that the kernel requires new mesa packages and the new mesa package needs too
 
 137 many dependencies which are not in Debian stable and I'm not willing to add
 
 138 that many new packages. So I recommend that if you want the latest asahi
 
 139 kernel, mesa, sound and other packages, switch to testing and use Thomas
 
 140 Renards packages for testing. <https://wiki.debian.org/Teams/Bananas>
 
 142 ## How to enable spakers?
 
 144 Currently speakers are only supported on M1 air. Install the necessary packages:
 
 149         apt install -y alsa-ucm-conf-asahi speakersafetyd
 
 152 After the reboot I need to restart the speakersafetyd in order to hear sound out of the speakers:
 
 154         sudo systemctl restart speakersafetyd
 
 156 ## Does it work on M2?
 
 158 Yes, M3 is not yet supported.
 
 160 ## Are you still maintaining this?
 
 162 Yes, I do and will continue doing this until there is an official Debian installer.
 
 164 ## If I install Debian, will it be easy to update the Asahi work as it develops?
 
 166 Yes, long answer below.
 
 168 To update the kernel to the lastest "stable" asahi branch you need to run
 
 174 For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt>
 
 176 Later it might be necessary to upgrade the stub partion in order to
 
 177 support the GPU code. As soon as that happens, I'll add the
 
 178 instructions and a video in order to do so, but short version is:
 
 180         - Backup /boot/efi/EFI
 
 181         - Delete the old stub and efi/esp partition
 
 182         - Rerun the asahi installer with m1n1+u-boot option
 
 183         - Put the /boot/efi/EFI back
 
 185 So, you never need to reinstall Debian. Kernel updates are easy, stub
 
 186 updates are a little bit more cumbersome but also seldom.
 
 188 ## How do I compile zfs on apple silicon debian?
 
 190 - In order to build zfs you need the rust environment. So from the m1-debian
 
 191   repository you have to run these scripts:
 
 196 - Prepare your zfs build environment. You need to replace
 
 197   /home/sithglan/work/m1-debian with your path to
 
 198   your m1-debian checkout:
 
 200         export CARGO_HOME="/home/sithglan/work/m1-debian/build/cargo"
 
 201         export RUSTUP_HOME="/home/sithglan/work/m1-debian/build/rust"
 
 202         source "/home/sithglan/work/m1-debian/build/cargo/env"
 
 204 - Tell zfs which version of clang you use to compile the kernel:
 
 206         export KERNEL_LLVM=-15
 
 210         git clone https://github.com/openzfs/zfs
 
 214 - Apply the following patch:
 
 216         diff --git a/META b/META
 
 217         index 3919b0d..67c9f7d 100644
 
 220         @@ -4,7 +4,7 @@ Branch:        1.0
 
 236 - Follow the instructions on <https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html> how to install it.
 
 240 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.