X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/m1-debian/blobdiff_plain/7f89d5b07b383cd80b717fef756324999a33a6b6..7bfda5643b8b2807386c9972c1f9f3e052bab065:/README.md?ds=inline diff --git a/README.md b/README.md index 87f1a6e..8c6d542 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,23 @@ This pages explains how to install Debian on Apple Silicon machines. # Tripwires The USB-A Port on the Mac Mini will not work in u-boot and grub. The two -additional USB-3 ports on the iMac 4 port model also don't work in u-boot, grub +additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub and Linux. In order to install Linux on a FileVault-enabled Mac run the installer from Recovery open Disk Utility > Expanding "Macintosh HD" > -Selecting locked volume > click "Mount". +Selecting locked volume > click "Mount". Debian does not include the choosen +EFI patch. As a result it will always pick the first ESP partition. This can be +problematic if you're using multiple ESP partitions for example when having +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: + + - 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 gratest kernel. # Asahi installer @@ -18,9 +28,9 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi * In the boot picker, choose Options. Once loaded, open a Terminal under Utilities > Terminal -* Run the asahi installer and select Debian (1): +* Run the asahi installer and select Debian: - curl -sL tg.st/d | sh + curl -sL https://tg.st/d | sh * Follow the installer instructions. @@ -32,7 +42,7 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi * 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 @@ -41,6 +51,7 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi * Install a desktop environment for example blackbox + apt-get update apt-get install -y xinit blackbox xterm firefox-esr lightdm * Create yourself an unprivileged user @@ -53,80 +64,30 @@ If you don't want to use the prebuild artefacts, you can build them yourself usi apt update apt install -y openssh-server -# Debian Installer -[Video Recording](https://tg.st/u/m1-d-i.mp4) - -**Do not use. It is broken at the moment.** - -* Prerequisites - - * USB Stick. this is what this guide assumes, but it is also possible to run the Debian installer from another PC using m1n1 chainloading. But if you know how to do that, you probably don't need this guide. - * If possible use an Ethernet Dongle, less typing. - -* Poweroff your Mac. Hold and press the power button until you see a wheel chain and Options written below. Approx 20 seconds. - -* In the boot picker, choose Options. Once loaded, open a Terminal under Utilities > Terminal - -* Run the asahi installer and select m1n1+UEFI: - curl -sL tg.st/d | sh - -* Follow the installer instructions. - -* Create USB Stick with a single vfat partition on it and untar the modified Debian installer on it. On Linux you would use the following: - - # Identify the usb stick device - lsblk - DEVICE=/dev/sdX - parted -a optimal $DEVICE mklabel msdos - parted -a optimal $DEVICE mkpart primary fat32 2048s 100% - mkfs.vfat ${DEVICE}1 - - mount /dev/sdX1 /mnt - cd /mnt - curl -sL https://tg.st/u/m1-d-i.tar | tar -xf - - umount /mnt - -* Reboot with the USB stick connected, the Debian installer should automatically start, if it doesn't load the kernel and initrd manually, you can use tab. For x try 0,1,2,... - - linux (hdX,msdos1)/vmlinuz expert net.ifnames=0 - initrd (hdx,msdos1)/initrd.gz - -* If you need wifi, on the first installer page press **Fn + Option + F2** to change to the second terminal, press **return** to activate the console, and issue the following commands to configure wifi - - ./wifi.sh - -* Switch back to the primary console by pressing **Fn + Option + F1**. - -* Follow the installer along until you end up in the partitioning menu - - * Create one 256M EFI system partition. 512M and 1G partitions fail with an error about wrong clustersize. - * Create another partition for root - -* When you get an error about grub failing, switch to the third console by pressing **Fn + Option + F2**, press **return** to active the console unless already activated, and issue the following commands: - - ./boot.sh - -* Switch back to the installer console by pressing **Fn + Option + F1** and continue the installer besides errors. The system will reboot into the newly installed system. +* 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. # Livesystem + [Video Recording](https://tg.st/u/live.mp4) + * Prerequisites - * USB Stick. this is what this guide assumes, but it is also possible to run the Debian installer from another PC using m1n1 chainloading. But if you know how to do that, you probably don't need this guide. - * If possible use an Ethernet Dongle, less typing. + - USB Stick. this is what this guide assumes, but it is also possible + to run the Debian livesystem from another PC using m1n1 chainloading. + But if you know how to do that, you probably don't need this guide. + - If possible use an Ethernet Dongle, less typing. * Create USB Stick with a single vfat partition on it and untar the modified Debian installer on it. Instructions for Linux: # Identify the usb stick device lsblk + DEVICE=/dev/sdX parted -a optimal $DEVICE mklabel msdos parted -a optimal $DEVICE mkpart primary fat32 2048s 100% mkfs.vfat ${DEVICE}1 - - mount /dev/sdX1 /mnt - cd /mnt - curl -sL https://tg.st/u/asahi-debian-live.tar | tar -xf - + mount ${DEVICE}1 /mnt + curl -sL https://tg.st/u/asahi-debian-live.tar | tar -C /mnt -xf - umount /mnt 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: @@ -143,7 +104,7 @@ Than open a terminal, and run the following commands: * You need to run the asahi installer and have either an OS installed or m1n1+UEFI. -* 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 countdoun by pressing any key and run the following comamnd to boot from usb: +* 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 @@ -156,3 +117,29 @@ Than open a terminal, and run the following commands: * Log in as **root** without password. * 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. + +# FAQ + +* If I install Debian, will it be easy to update the Asahi work as it develops? + +Yes, long answer below. + +To update the kernel to the lastest "stable" asahi branch you need to run +as root: + + apt update + apt upgrade + +For installations before 2022-12-12, see + +Later it might be necessary to upgrade the stub parition 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: + + - Backup /boot/efi/EFI + - Delete the old stub and efi/esp partition + - Rerun the asahi installer with m1n1+u-boot option + - Put the /boot/efi/EFI back + +So, you never need to reinstall Debian. Kernel updates are easy, stub +updates are a little bit more cumbersome but also seldom.