8 vi /etc/wpa/wpa_supplicant.conf
10 # remove the '#' before allow-hotplug to let wifi come up after boot
11 vi /etc/network/interfaces
15 # Login for root is disabled by default. So you need another user
17 sudo apt install -y openssh-server
21 dpkg-reconfigure tzdata
25 useradd -m -c 'firstname lastname' -s /bin/bash username
30 apt-get install lightdm blackbox xterm firefox-esr big-cursor
31 /etc/init.d/lightdm start
36 /etc/init.d/gdm3 start
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
46 # Keyboard use capslock as additional ctrl
47 cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<'EOF'
49 Identifier "system-keyboard"
51 Option "XkbLayout" "us"
52 Option "XkbModel" "pc105"
53 Option "XkbVariant" "de_se_fi"
54 Option "XkbOptions" "ctrl:nocaps"
58 # Swap command and option (windows and alt like on a pc keyboard)
59 echo 1 > /sys/module/hid_apple/parameters/swap_opt_cmd
61 # Configure the touchpad
62 cat > /etc/X11/xorg.conf.d/30-input.conf <<'EOF'
64 Identifier "libinput touchpad catchall"
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"
83 Install latest kernel and m1n1 stage 2 (m1n1, dtbs, u-boot)
84 ===========================================================
85 curl -sL tg.st/u/ksh | sudo bash
87 Use the live system to install debian
88 =====================================
90 parted -a optimal /dev/nvme0n1 print free
91 parted -a optimal /dev/nvme0n1 mkpart primary ext4 <begin of free> <end of free>
92 tune2fs -O extents,uninit_bg,dir_index -m 0 -c 0 -i 0 /dev/nvme0n1p5
94 mount /dev/nvme0n1p5 /mnt
96 debootstrap --arch=arm64 testing /mnt http://deb.debian.org/debian
98 mount -t sysfs none /mnt/sys
99 mount -t efivarfs none /mnt/sys/firmware/efi/efivars
100 mount -t proc none /mnt/proc
101 mount -o bind /dev /mnt/dev
102 mount -o bind /dev/pts /mnt/dev/pts
104 mkdir -p /mnt/boot/efi
105 mount /dev/nvme0n1p4 /mnt/boot/efi
110 cat <<EOF > /etc/fstab
111 /dev/nvme0n1p5 / ext4 defaults 0 0
112 /dev/nvme0n1p4 /boot/efi vfat defaults 0 0
115 cat <<EOF > /etc/apt/sources.list
116 deb http://den.debian.org/debian testing main contrib non-free
117 deb-src http://den.debian.org/debian testing main contrib non-free
121 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 apt-get install -y grub-efi-arm64-signed-
124 echo 'grub-efi-arm64 grub2/update_nvram boolean false' | debconf-set-selections
125 echo 'grub-efi-arm64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections
126 dpkg-reconfigure -fnoninteractive grub-efi-arm64
128 grub-install --removable /boot/efi
130 echo 'nameserver 8.8.8.8' > /etc/resolv.conf
132 export HOSTNAME=debian
133 echo $HOSTNAME > /etc/hostname
134 cat <<EOF > /etc/hosts
135 127.0.0.1 localhost $HOSTNAME
138 cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
147 tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
149 cat <<EOF > /etc/network/interfaces
150 # interfaces(5) file used by ifup(8) and ifdown(8)
151 # Include files from /etc/network/interfaces.d:
152 source /etc/network/interfaces.d/*
155 iface enp3s0 inet dhcp
157 # allow-hotplug wlp1s0f0
158 iface wlp1s0f0 inet dhcp
159 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
162 curl -sLo /tmp/k.deb tg.st/u/k.deb
163 curl -sLo /boot/efi/m1n1/boot.bin tg.st/u/u-boot.bin
179 You might want to save the state of your live system to the usb stick. In order
180 to do so, run the following commands:
183 apt-get install -y cpio pigz
185 # remove '#' before allow-hotplug
186 vi /etc/network/interfaces
188 mv /mnt/initrd.gz /mnt/initrd.old
190 find . -xdev | cpio --quiet -H newc -o | pigz -9 > /mnt/initrd.gz
195 With iwd you can force to use 5ghz. The following needs to be done to get iwd
198 sudo apt-get install iwd
200 cat <<EOF > /etc/iwd/main.conf
205 # Remove or comment out the following interfaces from /etc/network/interfaces
206 # allow-hotplug wlp1s0f0
207 # iface wlp1s0f0 inet dhcp
208 # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
210 # Add the following interfaces to /etc/network/interfaces
212 iface wlan0 inet dhcp
221 station wlan0 get-networks
222 station wlan0 connect SSID
226 # Lets assume you have the following partioning
228 (mini) [~] sudo parted /dev/nvme0n1 print
229 Model: APPLE SSD AP0256Q (nvme)
230 Disk /dev/nvme0n1: 251GB
231 Sector size (logical/physical): 4096B/4096B
235 Number Start End Size File system Name Flags
236 1 24.6kB 524MB 524MB iBootSystemContainer
239 4 103GB 104GB 513MB fat32 boot, esp
240 5 104GB 246GB 142GB ext4
241 6 246GB 251GB 5369MB RecoveryOSContainer
243 # Never delete the first, the second and the last partition because that either
244 # renders your mac unbootable (first two) or unupgradable (last one). However
245 # you can recover the system by using a second system if you screw up.
247 # In the above example we need to delete the partition number 3 (stub partition
248 # you can identify it by the size 2500 MB). The partition 4 (you can identtify
249 # it by the fact that it is fat32 and the flags boot, esp). And the partition
250 # number 5 (you can identify it by the fact that it is ext4).
252 You delete the partitions by doing:
254 # n is the partition number
255 sudo parted /dev/nvme0n1 rm <n>
257 # If you're asked if you want to proceed, say 'y'. If your asked if you want to
258 # ignore, say, ignore.
263 echo inhibit-charge > /sys/class/power_supply/macsmc-battery/charge_behaviour
266 echo auto > /sys/class/power_supply/macsmc-battery/charge_behaviour
269 echo force-discharge > /sys/class/power_supply/macsmc-battery/charge_behaviour
271 # Find out which device tree you're using
272 cat /proc/device-tree/compatible