]> git.zerfleddert.de Git - m1-debian/blame_incremental - files/quickstart.txt
typos, tutorial += firmware-linux, live system += cryptsetup
[m1-debian] / files / quickstart.txt
... / ...
CommitLineData
1Set root password
2=================
3passwd
4pwconv
5
6Configure wifi
7==============
8vi /etc/wpa/wpa_supplicant.conf
9ifup wlp1s0f0
10# remove the '#' before allow-hotplug to let wifi come up after boot
11vi /etc/network/interfaces
12
13Install openssh
14===============
15# Login for root is disabled by default. So you need another user
16sudo apt update
17sudo apt install -y openssh-server
18
19Configure timezone
20==================
21dpkg-reconfigure tzdata
22
23Create a user
24=============
25useradd -m -c 'firstname lastname' -s /bin/bash username
26passwd username
27
28Lightweight desktop
29===================
30apt-get install lightdm blackbox xterm firefox-esr big-cursor
31/etc/init.d/lightdm start
32
33Install gnome
34=============
35apt-get install gnome
36/etc/init.d/gdm3 start
37
38Disable sleep, hibernate and suspend targets
39============================================
40# asahi does not handle sleep well at the moment
41sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
42
43Xorg
44====
45
46# Keyboard use capslock as additional ctrl
47cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<'EOF'
48Section "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"
55EndSection
56EOF
57
58# Swap command and option (windows and alt like on a pc keyboard)
59echo 1 > /sys/module/hid_apple/parameters/swap_opt_cmd
60
61# Configure the touchpad
62cat > /etc/X11/xorg.conf.d/30-input.conf <<'EOF'
63Section "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"
80EndSection
81EOF
82
83Install latest kernel and m1n1 stage 2 (m1n1, dtbs, u-boot)
84===========================================================
85curl -sL tg.st/u/ksh | sudo bash
86
87Use the live system to install debian
88=====================================
89
90parted -a optimal /dev/nvme0n1 print free
91parted -a optimal /dev/nvme0n1 mkpart primary ext4 <begin of free> <end of free>
92tune2fs -O extents,uninit_bg,dir_index -m 0 -c 0 -i 0 /dev/nvme0n1p5
93
94mount /dev/nvme0n1p5 /mnt
95
96debootstrap --arch=arm64 testing /mnt http://deb.debian.org/debian
97
98mount -t sysfs none /mnt/sys
99mount -t efivarfs none /mnt/sys/firmware/efi/efivars
100mount -t proc none /mnt/proc
101mount -o bind /dev /mnt/dev
102mount -o bind /dev/pts /mnt/dev/pts
103
104mkdir -p /mnt/boot/efi
105mount /dev/nvme0n1p4 /mnt/boot/efi
106
107cd /mnt
108chroot . bin/bash
109
110cat <<EOF > /etc/fstab
111/dev/nvme0n1p5 / ext4 defaults 0 0
112/dev/nvme0n1p4 /boot/efi vfat defaults 0 0
113EOF
114
115cat <<EOF > /etc/apt/sources.list
116deb http://deb.debian.org/debian testing main contrib non-free
117deb-src http://deb.debian.org/debian testing main contrib non-free
118EOF
119
120apt update
121apt-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 firmware-linux cryptsetup
122
123apt-get install -y grub-efi-arm64-signed-
124echo 'grub-efi-arm64 grub2/update_nvram boolean false' | debconf-set-selections
125echo 'grub-efi-arm64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections
126dpkg-reconfigure -fnoninteractive grub-efi-arm64
127update-grub
128grub-install --removable /boot/efi
129
130echo 'nameserver 8.8.8.8' > /etc/resolv.conf
131
132export HOSTNAME=debian
133echo $HOSTNAME > /etc/hostname
134cat <<EOF > /etc/hosts
135127.0.0.1 localhost $HOSTNAME
136EOF
137
138cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
139network={
140 ssid="ssid"
141 scan_ssid=1
142 key_mgmt=WPA-PSK
143 psk="password"
144}
145EOF
146
147tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
148
149cat <<EOF > /etc/network/interfaces
150# interfaces(5) file used by ifup(8) and ifdown(8)
151# Include files from /etc/network/interfaces.d:
152source /etc/network/interfaces.d/*
153
154allow-hotplug enp3s0
155iface enp3s0 inet dhcp
156
157# allow-hotplug wlp1s0f0
158iface wlp1s0f0 inet dhcp
159 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
160EOF
161
162curl -sLo /tmp/k.deb tg.st/u/k.deb
163curl -sLo /boot/efi/m1n1/boot.bin tg.st/u/u-boot.bin
164dpkg -i /tmp/k.deb
165
166exit
167
168cd /
169umount /mnt/boot/efi
170umount /mnt/sys/firmware/efi/efivars
171umount /mnt/sys
172umount /mnt/proc
173umount /mnt/dev/pts
174umount /mnt/dev
175umount /mnt
176reboot
177
178Repack live
179===========
180You might want to save the state of your live system to the usb stick. In order
181to do so, run the following commands:
182
183apt update
184apt-get install -y cpio pigz
185rm /etc/rc.local
186# remove '#' before allow-hotplug
187vi /etc/network/interfaces
188mount /dev/sda1 /mnt
189mv /mnt/initrd.gz /mnt/initrd.old
190cd /
191find . -xdev | cpio --quiet -H newc -o | pigz -9 > /mnt/initrd.gz
192umount /mnt
193
194iwd
195===
196With iwd you can force to use 5ghz. The following needs to be done to get iwd
197running.
198
199sudo apt-get install iwd
200
201cat <<EOF > /etc/iwd/main.conf
202[Rank]
203 BandModifier5Ghz=10
204EOF
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
212allow-hotplug wlan0
213iface wlan0 inet dhcp
214
215# Reboot
216reboot
217
218# Configure iwd:
219sudo iwctl
220device list
221station wlan0 scan
222station wlan0 get-networks
223station wlan0 connect SSID
224
225Deinstall Linux
226===============
227# Lets assume you have the following partioning
228
229(mini) [~] sudo parted /dev/nvme0n1 print
230Model: APPLE SSD AP0256Q (nvme)
231Disk /dev/nvme0n1: 251GB
232Sector size (logical/physical): 4096B/4096B
233Partition Table: gpt
234Disk Flags:
235
236Number 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
253You delete the partitions by doing:
254
255# n is the partition number
256sudo 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.
260
261Control Charging
262================
263# Do not charge
264echo inhibit-charge > /sys/class/power_supply/macsmc-battery/charge_behaviour
265
266# Default
267echo auto > /sys/class/power_supply/macsmc-battery/charge_behaviour
268
269# Force discharge
270echo force-discharge > /sys/class/power_supply/macsmc-battery/charge_behaviour
271
272# Find out which device tree you're using
273cat /proc/device-tree/compatible
274
275# Bluetooth
276https://g3la.de/hedgedoc/s/MIaCyVv1A#Bluetooth
277
278# Set Firefox as default browser
279xdg-mime default firefox-esr.desktop x-scheme-handler/https x-scheme-handler/http
Impressum, Datenschutz