1 This pages explains how to install Debian on Apple Silicon machines.
 
   4 The USB-A Port on the Mac Mini will not work in u-boot and grub.  The two
 
   5 additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub
 
   6 and Linux. In order to install Linux on a FileVault-enabled Mac run the
 
   7 installer from Recovery open Disk Utility > Expanding "Macintosh HD" >
 
   8 Selecting locked volume > click "Mount". Debian does not include the choosen
 
   9 EFI patch. As a result it will always pick the first ESP partition. This can be
 
  10 problematic if you're using multiple ESP partitions for example when having
 
  11 multiple Linux and BSD installations.
 
  14 If you don't want to use the prebuild artefacts, you can build them yourself
 
  15 using the following scripts:
 
  17         - prepare_rust.sh - Prepares a rust installation suitable for kernel compilation
 
  18         - m1n1_uboot_kernel.sh - Builds m1n1, u-boot and the kernel including gpu support.
 
  19         - mesa.sh - Creates mesa packages
 
  20         - bootstrap.sh - Creates Debian root and live filesystem
 
  21         - libunwind.sh - Builds libunwind that does not crash on 16kb pages
 
  22         - meta.sh - Meta packages which makes sure that we always get latest and gratest kernel.
 
  26 [Video Recording](https://tg.st/u/debian_asahi_installer.mp4)
 
  28 * Poweroff your Mac. Hold and press the power button until you see a wheel chain and Options written below. Approx 20 seconds.
 
  30 * In the boot picker, choose Options. Once loaded, open a Terminal under Utilities > Terminal
 
  32 * Run the asahi installer and select Debian:
 
  34         curl -sL https://tg.st/d | sh
 
  36 * Follow the installer instructions.
 
  38 * Once Debian is booted log in as root without password and set a root password
 
  43 * Configure wifi by editing the wpa_supplicant.conf, enabling the interface and remove the # before allow-hotplug to enable it during boot.
 
  45         vi /etc/wpa_supplicant/wpa_supplicant.conf
 
  47         vi /etc/network/interfaces
 
  49 * Reboot to see if grub was correctly installed
 
  53 * Install a desktop environment for example blackbox
 
  56         apt-get install -y xinit blackbox xterm firefox-esr lightdm
 
  58 * Create yourself an unprivileged user
 
  60         useradd -m -c 'Firstname Lastname' -s /bin/bash <username>
 
  63 * Optional install sshd. You can not log in as root, but only with your unprivileged user
 
  66         apt install -y openssh-server
 
  68 * 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.
 
  72 [Video Recording](https://tg.st/u/live.mp4)
 
  76         - USB Stick. this is what this guide assumes, but it is also possible
 
  77           to run the Debian livesystem from another PC using m1n1 chainloading.
 
  78           But if you know how to do that, you probably don't need this guide.
 
  79         - If possible use an Ethernet Dongle, less typing.
 
  81 * Create USB Stick with a single vfat partition on it and untar the modified Debian installer on it. Instructions for Linux:
 
  83         # Identify the usb stick device
 
  87         parted -a optimal $DEVICE mklabel msdos
 
  88         parted -a optimal $DEVICE mkpart primary fat32 2048s 100%
 
  91         curl -sL https://tg.st/u/asahi-debian-live.tar | tar -C /mnt -xf -
 
  94 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:
 
  98         Scheme: Master Boot Record
 
 100 Than open a terminal, and run the following commands:
 
 104         curl -sL https://tg.st/u/asahi-debian-live.tar | tar -xf -
 
 106 * You need to run the asahi installer and have either an OS installed or m1n1+UEFI.
 
 108 * 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:
 
 112 * 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,...
 
 114         linux (hdX,msdos1)/vmlinuz
 
 115         initrd (hdX,msdos1)/initrd.gz
 
 118 * Log in as **root** without password.
 
 120 * 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.
 
 124 *  If I install Debian, will it still be relatively easy to update the Asahi work as it develops?
 
 126 Yes, long answer below.
 
 128 To update the kernel to the lastest "stable" asahi branch you need to run
 
 134 For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt>
 
 136 Later it might be necessary to upgrade the stub parition in order to
 
 137 support the GPU code. As soon as that happens, I'll add the
 
 138 instructions and a video in order to do so, but short version is:
 
 140         - Backup /boot/efi/EFI
 
 141         - Delete the old stub and efi/esp partition
 
 142         - Rerun the asahi installer with m1n1+u-boot option
 
 143         - Put the /boot/efi/EFI back
 
 145 So, you never need to reinstall Debian. Kernel updates are easy, stub
 
 146 updates are a little bit more cumbersome but also seldom.