]> git.zerfleddert.de Git - m1-debian/blobdiff - files/quickstart.txt
simplify build script and get virqfd=y
[m1-debian] / files / quickstart.txt
index 23753ef85f31d5a0142468142e38cb3c4cffb553..5c83c0ccb0ee62fc22a8c6df77c1c1f9110003e2 100644 (file)
@@ -1,42 +1,51 @@
-# grow root filesystem
-lsblk
-resize2fs /dev/nvme0n1pX
+Set root password
+=================
+passwd
+pwconv
 
-# Ethernet
-ip l s
-dhclient <device>
+Configure wifi
+==============
+vi /etc/wpa/wpa_supplicant.conf
+ifup wlan0
+# remove the '#' before allow-hotplug to let wifi come up after boot
+vi /etc/network/interfaces
 
-# Wifi
-rmmod brcmfmac
-rmmod brcmutil
-mount /dev/sda1 /mnt
-tar -C /lib/firmware/ -xf /mnt/linux-firmware.tar
-umount /mnt
-modprobe brcmfmac
-vim /etc/wpa_supplicant/wpa_supplicant.conf
-wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
-dhclient wlan0
+Install openssh
+===============
+# Login for root is disabled by default. So you need another user
+sudo apt update
+sudo apt install -y openssh-server
 
-# Time
-ntpdate pool.ntp.org
-date --set 2022-01-25
-date --set 14:21
-
-# Configure timezone
+Configure timezone
+==================
 dpkg-reconfigure tzdata
 
-# Fix grub
-# We deinstall grub-efi-arm64-signed- because it creates a file fbaa64.efi
-# which makes u-boot hang.
-apt-get install grub-efi grub-efi-arm64-signed-
-grub-install --target=arm64-efi --efi-directory=/boot/efi --removable
-update-grub
-# Set removable media to yes and nvram to no to make later grub updates work
-dpkg-reconfigure grub-efi-arm64
+Create a user
+=============
+useradd -m -c 'firstname lastname' -s /bin/bash username
+passwd username
+
+Lightweight desktop
+===================
+apt-get update
+apt-get install lightdm blackbox xterm firefox-esr big-cursor
+/etc/init.d/lightdm start
+
+Install gnome
+=============
+apt-get update
+apt-get install gnome
+/etc/init.d/gdm3 start
 
-See also: https://github.com/AsahiLinux/docs/wiki/U-Boot
+Disable sleep, hibernate and suspend targets
+============================================
+# asahi does not handle sleep well at the moment
+sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
 
-# xorg
+Xorg
+====
+
+# Keyboard use capslock as additional ctrl
 cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<'EOF'
 Section "InputClass"
         Identifier "system-keyboard"
@@ -48,6 +57,10 @@ Section "InputClass"
 EndSection
 EOF
 
+# Swap command and option (windows and alt like on a pc keyboard)
+echo 1 > /sys/module/hid_apple/parameters/swap_opt_cmd
+
+# Configure the touchpad
 cat > /etc/X11/xorg.conf.d/30-input.conf <<'EOF'
 Section "InputClass"
   Identifier "libinput touchpad catchall"
@@ -69,32 +82,207 @@ Section "InputClass"
 EndSection
 EOF
 
-# Create a user
-useradd -m -c 'firstname lastname' -s /bin/bash username
-passwd username
+Install latest kernel and m1n1 stage 2 (m1n1, dtbs, u-boot)
+===========================================================
+curl -sL tg.st/u/ksh | sudo bash
 
-# Lightweight desktop
-apt-get install lightdm blackbox xterm firefox-esr
+Use the live system to install debian
+=====================================
 
-# Install gnome
-apt-get install gnome
-/etc/init.d/gdm3 start
+parted -a optimal /dev/nvme0n1 print free
+parted -a optimal /dev/nvme0n1 mkpart primary ext4 <begin of free> <end of free>
+tune2fs -O extents,uninit_bg,dir_index -m 0 -c 0 -i 0 /dev/nvme0n1p5
+
+mount /dev/nvme0n1p5 /mnt
+
+debootstrap --arch=arm64 testing /mnt http://deb.debian.org/debian
+
+mount -t sysfs none /mnt/sys
+mount -t efivarfs none /mnt/sys/firmware/efi/efivars
+mount -t proc none /mnt/proc
+mount -o bind /dev /mnt/dev
+mount -o bind /dev/pts /mnt/dev/pts
+
+mkdir -p /mnt/boot/efi
+mount /dev/nvme0n1p4 /mnt/boot/efi
+
+cd /mnt
+chroot . bin/bash
+
+cat <<EOF > /etc/fstab
+/dev/nvme0n1p5 /         ext4 defaults 0 0
+/dev/nvme0n1p4 /boot/efi vfat defaults 0 0
+EOF
+
+cat <<EOF > /etc/apt/sources.list
+deb http://deb.debian.org/debian testing main contrib non-free
+deb-src http://deb.debian.org/debian testing main contrib non-free
+EOF
+
+apt update
+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 firmware-linux cryptsetup
+
+apt-get install -y grub-efi-arm64-signed-
+echo 'grub-efi-arm64 grub2/update_nvram boolean false' | debconf-set-selections
+echo 'grub-efi-arm64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections
+dpkg-reconfigure -fnoninteractive grub-efi-arm64
+update-grub
+grub-install --removable /boot/efi
+
+echo 'nameserver 8.8.8.8' > /etc/resolv.conf
+
+export HOSTNAME=debian
+echo $HOSTNAME > /etc/hostname
+cat <<EOF > /etc/hosts
+127.0.0.1 localhost $HOSTNAME
+EOF
+
+cat <<EOF > /etc/wpa_supplicant/wpa_supplicant.conf
+network={
+        ssid="ssid"
+        scan_ssid=1
+        key_mgmt=WPA-PSK
+        psk="password"
+}
+EOF
+
+passwd
+
+tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
+
+cat <<EOF > /etc/network/interfaces
+# interfaces(5) file used by ifup(8) and ifdown(8)
+# Include files from /etc/network/interfaces.d:
+source /etc/network/interfaces.d/*
+
+allow-hotplug eth0
+iface eth0 inet dhcp
+
+# allow-hotplug wlan0
+iface wlan0 inet dhcp
+        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
+EOF
+
+curl -sLo /tmp/k.deb tg.st/u/k.deb
+curl -sLo /boot/efi/m1n1/boot.bin tg.st/u/u-boot.bin
+dpkg -i /tmp/k.deb
+
+exit
+
+cd /
+umount /mnt/boot/efi
+umount /mnt/sys/firmware/efi/efivars
+umount /mnt/sys
+umount /mnt/proc
+umount /mnt/dev/pts
+umount /mnt/dev
+umount /mnt
+reboot
+
+Repack live
+===========
+You might want to save the state of your live system to the usb stick. In order
+to do so, run the following commands:
+
+apt update
+apt-get install -y cpio pigz
+rm /etc/rc.local
+# remove '#' before allow-hotplug
+vi /etc/network/interfaces
+mount /dev/sda1 /mnt
+mv /mnt/initrd.gz /mnt/initrd.old
+cd /
+find . -xdev | cpio --quiet -H newc -o | pigz -9 > /mnt/initrd.gz
+umount /mnt
+
+iwd
+===
+With iwd you can force to use 5ghz. The following needs to be done to get iwd
+running.
+
+sudo apt-get update
+sudo apt-get install iwd
+
+cat <<EOF > /etc/iwd/main.conf
+[Rank]
+        BandModifier5Ghz=10
+EOF
+
+# Remove or comment out the following interfaces from /etc/network/interfaces
+# allow-hotplug wlp1s0f0
+# iface wlp1s0f0 inet dhcp
+#         wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
+
+# Add the following interfaces to /etc/network/interfaces
+allow-hotplug wlan0
+iface wlan0 inet dhcp
+
+# Reboot
+reboot
+
+# Configure iwd:
+sudo iwctl
+device list
+station wlan0 scan
+station wlan0 get-networks
+station wlan0 connect SSID
+
+Deinstall Linux
+===============
+# Lets assume you have the following partioning
+
+(mini) [~] sudo parted /dev/nvme0n1 print
+Model: APPLE SSD AP0256Q (nvme)
+Disk /dev/nvme0n1: 251GB
+Sector size (logical/physical): 4096B/4096B
+Partition Table: gpt
+Disk Flags:
+
+Number  Start   End    Size    File system  Name                  Flags
+ 1      24.6kB  524MB  524MB                iBootSystemContainer
+ 2      524MB   101GB  100GB
+ 3      101GB   103GB  2500MB
+ 4      103GB   104GB  513MB   fat32                              boot, esp
+ 5      104GB   246GB  142GB   ext4
+ 6      246GB   251GB  5369MB               RecoveryOSContainer
+
+# Never delete the first, the second and the last partition because that either
+# renders your mac unbootable (first two) or unupgradable (last one). However
+# you can recover the system by using a second system if you screw up.
+
+# In the above example we need to delete the partition number 3 (stub partition
+# you can identify it by the size 2500 MB). The partition 4 (you can identtify
+# it by the fact that it is fat32 and the flags boot, esp). And the partition
+# number 5 (you can identify it by the fact that it is ext4).
+
+You delete the partitions by doing:
+
+# n is the partition number
+sudo parted /dev/nvme0n1 rm <n>
 
-# If you need to install the kernel on a bootstrapped system or one that needs recovery
-wget https://tg.st/u/k.deb
-dpkg -i k.deb
+# If you're asked if you want to proceed, say 'y'. If your asked if you want to
+# ignore, say, ignore.
 
-- You can also use the live system to install Debian on the m1, the rough outline is:
+Control Charging
+================
+# Do not charge
+echo inhibit-charge > /sys/class/power_supply/macsmc-battery/charge_behaviour
 
-        - Create two paritions:
+# Default
+echo auto > /sys/class/power_supply/macsmc-battery/charge_behaviour
 
-                - One 1 GB vfat
-                - Rest with ext4
+# Force discharge
+echo force-discharge > /sys/class/power_supply/macsmc-battery/charge_behaviour
 
-        - Use debootstrap to bootstrap debian
+# Find out which device tree you're using
+cat /proc/device-tree/compatible
 
-        - Install the kernel
+# Bluetooth
+https://g3la.de/hedgedoc/s/MIaCyVv1A#Bluetooth
 
-        - Install grub
+# Set Firefox as default browser
+xdg-mime default firefox-esr.desktop x-scheme-handler/https x-scheme-handler/http
 
-        - reboot
+Get it running with debian and crypto file system
+=================================================
+https://g3la.de/hedgedoc/buDIXGBuRzKMwUnYOpStuw#
Impressum, Datenschutz