]>
Commit | Line | Data |
---|---|---|
7f89d5b0 TG |
1 | This pages explains how to install Debian on Apple Silicon machines. |
2 | ||
3 | # Tripwires | |
4 | The USB-A Port on the Mac Mini will not work in u-boot and grub. The two | |
2984be23 | 5 | additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub |
7f89d5b0 TG |
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" > | |
47b13fcc TG |
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. | |
c5e46692 | 12 | |
7f89d5b0 | 13 | # Artefacts |
8fca5a78 TG |
14 | If you don't want to use the prebuild artefacts, you can build them yourself |
15 | using the following scripts: | |
16 | ||
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 | |
2028fd4e | 22 | - meta.sh - Meta package which makes sure that we always get latest and gratest kernel. |
47b13fcc | 23 | |
7f89d5b0 TG |
24 | # Asahi installer |
25 | ||
26 | [Video Recording](https://tg.st/u/debian_asahi_installer.mp4) | |
27 | ||
28 | * Poweroff your Mac. Hold and press the power button until you see a wheel chain and Options written below. Approx 20 seconds. | |
29 | ||
30 | * In the boot picker, choose Options. Once loaded, open a Terminal under Utilities > Terminal | |
31 | ||
0c054fe6 | 32 | * Run the asahi installer and select Debian: |
7f89d5b0 | 33 | |
9c6d410f | 34 | curl -sL https://tg.st/d | sh |
7f89d5b0 TG |
35 | |
36 | * Follow the installer instructions. | |
37 | ||
38 | * Once Debian is booted log in as root without password and set a root password | |
39 | ||
40 | passwd | |
41 | pwconv | |
42 | ||
43 | * Configure wifi by editing the wpa_supplicant.conf, enabling the interface and remove the # before allow-hotplug to enable it during boot. | |
44 | ||
45 | vi /etc/wpa_supplicant/wpa_supplicant.conf | |
e6f0833d | 46 | ifup wlan0 |
7f89d5b0 TG |
47 | vi /etc/network/interfaces |
48 | ||
49 | * Reboot to see if grub was correctly installed | |
50 | ||
51 | reboot | |
52 | ||
53 | * Install a desktop environment for example blackbox | |
54 | ||
56d14923 | 55 | apt-get update |
7f89d5b0 TG |
56 | apt-get install -y xinit blackbox xterm firefox-esr lightdm |
57 | ||
58 | * Create yourself an unprivileged user | |
59 | ||
60 | useradd -m -c 'Firstname Lastname' -s /bin/bash <username> | |
61 | passwd <username> | |
62 | ||
63 | * Optional install sshd. You can not log in as root, but only with your unprivileged user | |
64 | ||
65 | apt update | |
66 | apt install -y openssh-server | |
67 | ||
ec28cb51 TG |
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. |
69 | ||
7f89d5b0 | 70 | # Livesystem |
933c215f | 71 | |
7f89d5b0 | 72 | [Video Recording](https://tg.st/u/live.mp4) |
933c215f | 73 | |
7f89d5b0 TG |
74 | * Prerequisites |
75 | ||
9c6d410f | 76 | - USB Stick. this is what this guide assumes, but it is also possible |
d7a5b871 | 77 | to run the Debian livesystem from another PC using m1n1 chainloading. |
9c6d410f TG |
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. | |
7f89d5b0 TG |
80 | |
81 | * Create USB Stick with a single vfat partition on it and untar the modified Debian installer on it. Instructions for Linux: | |
82 | ||
83 | # Identify the usb stick device | |
84 | lsblk | |
ffa40a8e | 85 | |
7f89d5b0 TG |
86 | DEVICE=/dev/sdX |
87 | parted -a optimal $DEVICE mklabel msdos | |
88 | parted -a optimal $DEVICE mkpart primary fat32 2048s 100% | |
89 | mkfs.vfat ${DEVICE}1 | |
ffa40a8e TG |
90 | mount ${DEVICE}1 /mnt |
91 | curl -sL https://tg.st/u/asahi-debian-live.tar | tar -C /mnt -xf - | |
7f89d5b0 TG |
92 | umount /mnt |
93 | ||
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: | |
95 | ||
96 | Name: LIVE | |
97 | Format: MS-DOS (FAT) | |
98 | Scheme: Master Boot Record | |
99 | ||
100 | Than open a terminal, and run the following commands: | |
101 | ||
102 | sudo su - | |
103 | cd /Volumes/LIVE | |
104 | curl -sL https://tg.st/u/asahi-debian-live.tar | tar -xf - | |
105 | ||
106 | * You need to run the asahi installer and have either an OS installed or m1n1+UEFI. | |
107 | ||
12a464df | 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: |
7f89d5b0 TG |
109 | |
110 | run bootcmd_usb0 | |
111 | ||
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,... | |
113 | ||
114 | linux (hdX,msdos1)/vmlinuz | |
115 | initrd (hdX,msdos1)/initrd.gz | |
116 | boot | |
117 | ||
118 | * Log in as **root** without password. | |
119 | ||
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. | |
28465d9b TG |
121 | |
122 | # FAQ | |
123 | ||
e6f0833d | 124 | * If I install Debian, will it be easy to update the Asahi work as it develops? |
28465d9b TG |
125 | |
126 | Yes, long answer below. | |
127 | ||
128 | To update the kernel to the lastest "stable" asahi branch you need to run | |
129 | as root: | |
130 | ||
cccfe6d5 TG |
131 | apt update |
132 | apt upgrade | |
133 | ||
134 | For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt> | |
28465d9b TG |
135 | |
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: | |
139 | ||
140 | - Backup /boot/efi/EFI | |
141 | - Delete the old stub and efi/esp partition | |
5869d4a4 | 142 | - Rerun the asahi installer with m1n1+u-boot option |
28465d9b TG |
143 | - Put the /boot/efi/EFI back |
144 | ||
8499f105 | 145 | So, you never need to reinstall Debian. Kernel updates are easy, stub |
28465d9b | 146 | updates are a little bit more cumbersome but also seldom. |