]> cvs.zerfleddert.de Git - m1-debian/blobdiff - files/quickstart.txt
reenable crosscompile
[m1-debian] / files / quickstart.txt
index c93706a2c913bae0d1fd5c7a5fe47d7e874503e6..231c0038f23125102efb49b9dd0ea9b34e9b1b71 100644 (file)
@@ -1,45 +1,49 @@
-# grow the root partition
-sgdisk -n 0:0
-
-# grow root filesystem
-lsblk
-resize2fs /dev/nvme0n1pX
+Set root password
+=================
+passwd
+pwconv
+
+Configure wifi
+==============
+vi /etc/wpa/wpa_supplicant.conf
+ifup wlp1s0f0
+# remove the '#' before allow-hotplug to let wifi come up after boot
+vi /etc/network/interfaces
 
 
-# Ethernet
-ip l s
-dhclient <device>
+Install openssh
+===============
+# Login for root is disabled by default. So you need another user
+sudo apt update
+sudo apt install -y openssh-server
 
 
-# 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
+Configure timezone
+==================
+dpkg-reconfigure tzdata
 
 
-# Time
-ntpdate pool.ntp.org
-date --set 2022-01-25
-date --set 14:21
+Create a user
+=============
+useradd -m -c 'firstname lastname' -s /bin/bash username
+passwd username
 
 
-# Configure timezone
-dpkg-reconfigure tzdata
+Lightweight desktop
+===================
+apt-get update
+apt-get install lightdm blackbox xterm firefox-esr big-cursor
+/etc/init.d/lightdm start
 
 
-# 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
+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'
 
 # Keyboard use capslock as additional ctrl
 cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<'EOF'
@@ -78,38 +82,102 @@ Section "InputClass"
 EndSection
 EOF
 
 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
 
 
-# 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
+mount /dev/nvme0n1p5 /mnt
 
 
-# asahi does not handle sleep well at the moment
-sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
+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
 
 
-- You can also use the live system to install Debian on the m1, the rough outline is:
+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
 
 
-        - Create two paritions:
+tar -C /lib/firmware/ -xf /boot/efi/vendorfw/firmware.tar
 
 
-                - One 1 GB vfat
-                - Rest with ext4
+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/*
 
 
-        - Use debootstrap to bootstrap debian
+allow-hotplug enp3s0
+iface enp3s0 inet dhcp
 
 
-        - Install the kernel
+# allow-hotplug wlp1s0f0
+iface wlp1s0f0 inet dhcp
+        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
+EOF
 
 
-        - Install grub
+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
 
 
-        - reboot
+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
 ===========
 
 Repack live
 ===========
@@ -132,6 +200,7 @@ iwd
 With iwd you can force to use 5ghz. The following needs to be done to get iwd
 running.
 
 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
 sudo apt-get install iwd
 
 cat <<EOF > /etc/iwd/main.conf
@@ -157,3 +226,63 @@ device list
 station wlan0 scan
 station wlan0 get-networks
 station wlan0 connect SSID
 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're asked if you want to proceed, say 'y'. If your asked if you want to
+# ignore, say, ignore.
+
+Control Charging
+================
+# Do not charge
+echo inhibit-charge > /sys/class/power_supply/macsmc-battery/charge_behaviour
+
+# Default
+echo auto > /sys/class/power_supply/macsmc-battery/charge_behaviour
+
+# Force discharge
+echo force-discharge > /sys/class/power_supply/macsmc-battery/charge_behaviour
+
+# Find out which device tree you're using
+cat /proc/device-tree/compatible
+
+# Bluetooth
+https://g3la.de/hedgedoc/s/MIaCyVv1A#Bluetooth
+
+# Set Firefox as default browser
+xdg-mime default firefox-esr.desktop x-scheme-handler/https x-scheme-handler/http
+
+Get it running with debian and crypto file system
+=================================================
+https://g3la.de/hedgedoc/buDIXGBuRzKMwUnYOpStuw#
Impressum, Datenschutz