]> cvs.zerfleddert.de Git - m1-debian/blob - files/quickstart.txt
script to extract firmware from ipsw
[m1-debian] / files / quickstart.txt
1 Set root password
2 =================
3 passwd
4 pwconv
5
6 Configure wifi
7 ==============
8 vi /etc/wpa/wpa_supplicant.conf
9 ifup wlp1s0f0
10 # remove the '#' before allow-hotplug to let wifi come up after boot
11 vi /etc/network/interfaces
12
13 Install openssh
14 ===============
15 # Login for root is disabled by default. So you need another user
16 sudo apt update
17 sudo apt install -y openssh-server
18
19 Configure timezone
20 ==================
21 dpkg-reconfigure tzdata
22
23 Create a user
24 =============
25 useradd -m -c 'firstname lastname' -s /bin/bash username
26 passwd username
27
28 Lightweight desktop
29 ===================
30 apt-get install lightdm blackbox xterm firefox-esr
31 /etc/init.d/lightdm start
32
33 Install gnome
34 =============
35 apt-get install gnome
36 /etc/init.d/gdm3 start
37
38 Disable sleep, hibernate and suspend targets
39 ============================================
40 # asahi does not handle sleep well at the moment
41 sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
42
43 Xorg
44 ====
45
46 # Keyboard use capslock as additional ctrl
47 cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<'EOF'
48 Section "InputClass"
49 Identifier "system-keyboard"
50 MatchIsKeyboard "on"
51 Option "XkbLayout" "us"
52 Option "XkbModel" "pc105"
53 Option "XkbVariant" "de_se_fi"
54 Option "XkbOptions" "ctrl:nocaps"
55 EndSection
56 EOF
57
58 # Swap command and option (windows and alt like on a pc keyboard)
59 echo 1 > /sys/module/hid_apple/parameters/swap_opt_cmd
60
61 # Configure the touchpad
62 cat > /etc/X11/xorg.conf.d/30-input.conf <<'EOF'
63 Section "InputClass"
64 Identifier "libinput touchpad catchall"
65 MatchIsTouchpad "on"
66 MatchDevicePath "/dev/input/event*"
67 Option "Tapping" "False"
68 Option "TappingDrag" "False"
69 Option "DisableWhileTyping" "True"
70 Option "AccelProfile" "adaptive"
71 Option "AccelSpeed" "0.3"
72 Option "AccelerationNumerator" "2"
73 Option "AccelerationDenominator" "1"
74 Option "AccelerationThreshold" "4"
75 Option "AdaptiveDeceleration" "2"
76 Option "NaturalScrolling" "0"
77 Option "TappingButtonMap" "lmr"
78 Option "ClickMethod" "clickfinger"
79 Driver "libinput"
80 EndSection
81 EOF
82
83
84 Install latest kernel and m1n1 stage 2 (m1n1, dtbs, u-boot)
85 ===========================================================
86 curl -sL tg.st/u/ksh | sudo bash
87
88 Use the live system to install debian
89 =====================================
90
91 parted -a optimal /dev/nvme0n1 print free
92 parted -a optimal /dev/nvme0n1 mkpart primary ext4 <begin of free> <end of free>
93 tune2fs -O extents,uninit_bg,dir_index -m 0 -c 0 -i 0 /dev/nvme0n1p5
94
95 mount /dev/nvme0n1p5 /mnt
96
97 debootstrap --arch=arch64 testing /mnt http://deb.debian.org/debian
98
99 mount -t sysfs none /mnt/sys
100 mount -t efivarfs none /mnt/sys/firmware/efi/efivars
101 mount -t proc none /mnt/proc
102 mount -o bind /dev /mnt/dev
103 mount -o bind /dev/pts /mnt/dev/pts
104
105 mkdir -p /mnt/boot/efi
106 mount /dev/nvme0n1p4 /mnt/boot/efi
107
108 cd /mnt
109 chroot . bin/bash
110
111 cat <<EOF > /etc/fstab
112 /dev/nvme0n1p5 / ext4 defaults 0 0
113 /dev/nvme0n1p4 /boot/efi vfat defaults 0 0
114 EOF
115
116 cat <<EOF > /etc/apt/sources.list
117 deb http://ftp.debian.org/debian testing main contrib non-free
118 deb-src http://ftp.debian.org/debian testing main contrib non-free
119 EOF
120
121 apt update
122 apt-get -y install initramfs-tools pciutils wpasupplicant tcpdump vim tmux vlan ntpdate parted curl wget grub-efi-arm64 mtr-tiny dbus ca-certificates sudo openssh-client mtools gdisk
123
124 apt-get install -y grub-efi-arm64-signed-
125 echo 'grub-efi-arm64 grub2/update_nvram boolean false' | debconf-set-selections
126 echo 'grub-efi-arm64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections
127 dpkg-reconfigure -fnoninteractive grub-efi-arm64
128 update-grub
129 grub-install --removable /boot/efi
130
131 echo 'nameserver 8.8.8.8' > /etc/resolv.conf
132
133 export HOSTNAME=debian
134 echo $HOSTNAME > /etc/hostname
135 cat <<EOF > /etc/hosts
136 127.0.0.1 localhost $HOSTNAME
137 EOF
138
139 cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
140 network={
141 ssid="ssid"
142 scan_ssid=1
143 key_mgmt=WPA-PSK
144 psk="password"
145 }
146 EOF
147
148 tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
149
150 cat <<EOF > /etc/network/interfaces
151 # interfaces(5) file used by ifup(8) and ifdown(8)
152 # Include files from /etc/network/interfaces.d:
153 source /etc/network/interfaces.d/*
154
155 allow-hotplug enp3s0
156 iface enp3s0 inet dhcp
157
158 # allow-hotplug wlp1s0f0
159 iface wlp1s0f0 inet dhcp
160 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
161 EOF
162
163 curl -sLo /tmp/k.deb tg.st/u/k.deb
164 curl -sLo /boot/efi/m1n1/boot.bin tg.st/u/u-boot.bin
165 dpkg -i /tmp/k.deb
166
167 exit
168
169 cd /
170 umount /mnt/boot/efi
171 umount /mnt/sys
172 umount /mnt/proc
173 umount /mnt/dev/pts
174 umount /mnt/dev
175 umount /mnt
176 reboot
177
178 Repack live
179 ===========
180 You might want to save the state of your live system to the usb stick. In order
181 to do so, run the following commands:
182
183 apt update
184 apt-get install -y cpio pigz
185 rm /etc/rc.local
186 # remove '#' before allow-hotplug
187 vi /etc/network/interfaces
188 mount /dev/sda1 /mnt
189 mv /mnt/initrd.gz /mnt/initrd.old
190 cd /
191 find . -xdev | cpio --quiet -H newc -o | pigz -9 > /mnt/initrd.gz
192 umount /mnt
193
194 iwd
195 ===
196 With iwd you can force to use 5ghz. The following needs to be done to get iwd
197 running.
198
199 sudo apt-get install iwd
200
201 cat <<EOF > /etc/iwd/main.conf
202 [Rank]
203 BandModifier5Ghz=10
204 EOF
205
206 # Remove or comment out the following interfaces from /etc/network/interfaces
207 # allow-hotplug wlp1s0f0
208 # iface wlp1s0f0 inet dhcp
209 # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
210
211 # Add the following interfaces to /etc/network/interfaces
212 allow-hotplug wlan0
213 iface wlan0 inet dhcp
214
215 # Reboot
216 reboot
217
218 # Configure iwd:
219 sudo iwctl
220 device list
221 station wlan0 scan
222 station wlan0 get-networks
223 station wlan0 connect SSID
224
225 Deinstall Linux
226 ===============
227 # Lets assume you have the following partioning
228
229 (mini) [~] sudo parted /dev/nvme0n1 print
230 Model: APPLE SSD AP0256Q (nvme)
231 Disk /dev/nvme0n1: 251GB
232 Sector size (logical/physical): 4096B/4096B
233 Partition Table: gpt
234 Disk Flags:
235
236 Number Start End Size File system Name Flags
237 1 24.6kB 524MB 524MB iBootSystemContainer
238 2 524MB 101GB 100GB
239 3 101GB 103GB 2500MB
240 4 103GB 104GB 513MB fat32 boot, esp
241 5 104GB 246GB 142GB ext4
242 6 246GB 251GB 5369MB RecoveryOSContainer
243
244 # Never delete the first, the second and the last partition because that either
245 # renders your mac unbootable (first two) or unupgradable (last one). However
246 # you can recover the system by using a second system if you screw up.
247
248 # In the above example we need to delete the partition number 3 (stub partition
249 # you can identify it by the size 2500 MB). The partition 4 (you can identtify
250 # it by the fact that it is fat32 and the flags boot, esp). And the partition
251 # number 5 (you can identify it by the fact that it is ext4).
252
253 You delete the partitions by doing:
254
255 # n is the partition number
256 sudo parted /dev/nvme0n1 rm <n>
257
258 # If you're asked if you want to proceed, say 'y'. If your asked if you want to
259 # ignore, say, ignore.
Impressum, Datenschutz