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
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"
84 Install latest kernel and m1n1 stage 2 (m1n1, dtbs, u-boot)
85 ===========================================================
86 curl -sL tg.st/u/ksh | sudo bash
88 Use the live system to install debian
89 =====================================
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
95 mount /dev/nvme0n1p5 /mnt
97 debootstrap --arch=arm64 testing /mnt http://deb.debian.org/debian
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
105 mkdir -p /mnt/boot/efi
106 mount /dev/nvme0n1p4 /mnt/boot/efi
111 cat <<EOF > /etc/fstab
112 /dev/nvme0n1p5 / ext4 defaults 0 0
113 /dev/nvme0n1p4 /boot/efi vfat defaults 0 0
116 cat <<EOF > /etc/apt/sources.list
117 deb http://den.debian.org/debian testing main contrib non-free
118 deb-src http://den.debian.org/debian testing main contrib non-free
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
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
129 grub-install --removable /boot/efi
131 echo 'nameserver 8.8.8.8' > /etc/resolv.conf
133 export HOSTNAME=debian
134 echo $HOSTNAME > /etc/hostname
135 cat <<EOF > /etc/hosts
136 127.0.0.1 localhost $HOSTNAME
139 cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
148 tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
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/*
156 iface enp3s0 inet dhcp
158 # allow-hotplug wlp1s0f0
159 iface wlp1s0f0 inet dhcp
160 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
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
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:
184 apt-get install -y cpio pigz
186 # remove '#' before allow-hotplug
187 vi /etc/network/interfaces
189 mv /mnt/initrd.gz /mnt/initrd.old
191 find . -xdev | cpio --quiet -H newc -o | pigz -9 > /mnt/initrd.gz
196 With iwd you can force to use 5ghz. The following needs to be done to get iwd
199 sudo apt-get install iwd
201 cat <<EOF > /etc/iwd/main.conf
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
211 # Add the following interfaces to /etc/network/interfaces
213 iface wlan0 inet dhcp
222 station wlan0 get-networks
223 station wlan0 connect SSID
227 # Lets assume you have the following partioning
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
236 Number Start End Size File system Name Flags
237 1 24.6kB 524MB 524MB iBootSystemContainer
240 4 103GB 104GB 513MB fat32 boot, esp
241 5 104GB 246GB 142GB ext4
242 6 246GB 251GB 5369MB RecoveryOSContainer
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.
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).
253 You delete the partitions by doing:
255 # n is the partition number
256 sudo parted /dev/nvme0n1 rm <n>
258 # If you're asked if you want to proceed, say 'y'. If your asked if you want to
259 # ignore, say, ignore.