]> cvs.zerfleddert.de Git - m1-debian/blame - README.md
get rid of debug_info kernel package; fix clang detection for amd64
[m1-debian] / README.md
CommitLineData
7f89d5b0
TG
1This pages explains how to install Debian on Apple Silicon machines.
2
3# Tripwires
4The USB-A Port on the Mac Mini will not work in u-boot and grub. The two
2984be23 5additional USB-3 ports on the iMac 4 port model don't work in u-boot, grub
7f89d5b0
TG
6and Linux. In order to install Linux on a FileVault-enabled Mac run the
7installer from Recovery open Disk Utility > Expanding "Macintosh HD" >
47b13fcc
TG
8Selecting locked volume > click "Mount". Debian does not include the choosen
9EFI patch. As a result it will always pick the first ESP partition. This can be
10problematic if you're using multiple ESP partitions for example when having
11multiple Linux and BSD installations.
c5e46692 12
7f89d5b0 13# Artefacts
8fca5a78
TG
14If you don't want to use the prebuild artefacts, you can build them yourself
15using 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
94In 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
100Than 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
126Yes, long answer below.
127
128To update the kernel to the lastest "stable" asahi branch you need to run
129as root:
130
cccfe6d5
TG
131 apt update
132 apt upgrade
133
134For installations before 2022-12-12, see <https://thomas.glanzmann.de/asahi/README.txt>
28465d9b
TG
135
136Later it might be necessary to upgrade the stub parition in order to
137support the GPU code. As soon as that happens, I'll add the
138instructions 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 145So, you never need to reinstall Debian. Kernel updates are easy, stub
28465d9b 146updates are a little bit more cumbersome but also seldom.
Impressum, Datenschutz