]> code.delx.au - monosys/commitdiff
install notes for raspi-headless:debian-bookworm
authorJames Bunton <jamesbunton@delx.au>
Wed, 6 Mar 2024 06:26:11 +0000 (17:26 +1100)
committerJames Bunton <jamesbunton@delx.au>
Wed, 6 Mar 2024 12:05:57 +0000 (23:05 +1100)
notes/desktop:debian-bookworm.txt
notes/raspi-headless:debian-bookworm.txt [new file with mode: 0644]

index da90f4cbe5410e6ba8b2eaf19f62431b11382c7b..745a71c2022820b9fb10d813c8dd2232e95bb207 100644 (file)
@@ -2,17 +2,18 @@ THE_DEV=/dev/sda
 THE_HOSTNAME=somehost
 THE_USERNAME=someuser
 
+
 gdisk $THE_DEV
 ESP 200M ef00
 XBOOTLDR 824M
 LUKSROOT
 
+
 vgcreate $THE_HOSTNAME /dev/disk/by-partlabel/LUKSROOT
 lvcreate -L16G -nswap $THE_HOSTNAME
 lvcreate -l100%FREE -nroot $THE_HOSTNAME
 
 mount /dev/mapper/$THE_HOSTNAME-root /mnt/
-
 cd /mnt/
 btrfs fi label /mnt/ btrfsroot
 btrfs subv create @root
@@ -27,7 +28,7 @@ mount /dev/mapper/$THE_HOSTNAME-root /mnt/
 mkdir -p /mnt/etc/
 cat <<EOT > /mnt/etc/fstab
 LABEL=btrfsroot             /                   btrfs   subvol=@root,discard,compress,nodev             0 0
-LABEL=btrfsroot             /btrfs              btrfs   subvol=/,discard,compress,nodev,nosuid        0 0
+LABEL=btrfsroot             /btrfs              btrfs   subvol=/,discard,compress,nodev,nosuid          0 0
 LABEL=btrfsroot             /home               btrfs   subvol=@home,discard,compress,nodev,nosuid      0 0
 LABEL=btrfsroot             /var/cache/apt      btrfs   subvol=@apt,discard,compress,nodev,nosuid       0 0
 LABEL=btrfsroot             /var/tmp            btrfs   subvol=@vartmp,discard,compress,nodev,nosuid    0 0
@@ -37,6 +38,7 @@ LABEL=swap                  swap                swap    discard
 tmpfs                       /tmp                tmpfs   nosuid,nodev                                    0 0
 EOT
 
+
 debootstrap bookworm /mnt/ https://deb.debian.org/debian
 
 cat <<EOT > /mnt/etc/apt/sources.list
@@ -45,22 +47,30 @@ deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-fre
 deb https://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
 EOT
 
-chroot /mnt/
 
+for i in /dev /proc /sys /run /tmp; do mount --rbind $i /mnt$i; done
+chroot /mnt/
 mkdir -p /btrfs/ /boot/efi/ /home/ /var/cache/apt/ /var/tmp/
 
+
 mkdir /run/systemd/resolve/
 [ -f /run/systemd/resolve/stub-resolv.conf ] || echo 'nameserver 1.1.1.1' > /run/systemd/resolve/stub-resolv.conf
 
+
 echo $THE_HOSTNAME > /etc/hostname
+ln -sf /usr/share/zoneinfo/Australia/Sydney /etc/localtime
 echo do_symlinks=no > /etc/kernel-img.conf
 
-cd /root/
+
+dpkg-reconfigure locales
 apt-get install aptitude curl git python3 vim
-curl -sSfL https://code.delx.au/p/dotfiles | bash
 
+
+cd /root/
+curl -sSfL https://code.delx.au/p/dotfiles | bash
 exit
-for i in /dev /proc /sys /run /tmp; do mount --rbind $i /mnt$i; done
+
+
 chroot /mnt/
 cd /root
 
@@ -72,12 +82,11 @@ mkdir /root/monosys/package-lists/local
 ln -s /root/monosys/package-lists/local /root/.aptorphan
 cd /root/monosys/package-lists/local
 for i in base base-hw desktop-base desktop-gnome desktop-gnome-software desktop-plymouth desktop-printing filesystems multimedia-players wifi; do ln -s ../debian/$i; done
-cp ../debian/system .
+cp ../debian/system-efi-amd64 .
 
 apt-get update
 aptorphan
 
-dpkg-reconfigure locales
 systemctl disable ssh
 find /etc/systemd/system -xtype l -delete
 
@@ -94,8 +103,6 @@ plymouth-set-default-theme spinner
 
 
 
-reboot
-
-timedatectl set-timezone Australia/Sydney
+# reboot
 
 flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo
diff --git a/notes/raspi-headless:debian-bookworm.txt b/notes/raspi-headless:debian-bookworm.txt
new file mode 100644 (file)
index 0000000..b29a0e5
--- /dev/null
@@ -0,0 +1,86 @@
+THE_DEV=/dev/mmcblk0
+THE_HOSTNAME=somehost
+
+
+raspi.debian.net
+xzcat image.xz | pv > $THE_DEV
+
+
+gdisk $THE_DEV
+# resize partition 2
+
+
+btrfs-convert ${THE_DEV}p2
+mount ${THE_DEV}p2 /mnt
+btrfs fi resize max /mnt
+cd /mnt
+rmdir lost+found
+
+btrfs subv create @root
+mv ./* @root/
+mv @root/ext2_saved/ @ext2_saved
+mkdir @root/btrfs
+btrfs subv create @apt; mv @root/var/cache/apt/archives/* @apt/
+btrfs subv create @vartmp; chmod 1777 @vartmp ; chmod 0755 @root/var/tmp
+btrfs subv set-default @root
+
+cat <<EOT >| @root/etc/fstab
+# <file system>         <dir>                   <type>  <options>                                       <dump><pass>
+LABEL=RASPIROOT         /                       btrfs   subvol=@root,discard,compress,nodev                 2   0
+LABEL=RASPIROOT         /btrfs                  btrfs   subvol=/,discard,compress,nodev,nosuid              0   0
+LABEL=RASPIROOT         /var/cache/apt/archives btrfs   subvol=@apt,discard,compress,nodev,nosuid           0   0
+LABEL=RASPIROOT         /var/tmp                btrfs   subvol=@vartmp,discard,compress,nodev,nosuid        0   0
+LABEL=RASPIFIRM         /boot/firmware          vfat    discard,nodev,nosuid,noexec                         1   0
+EOT
+
+
+rm @root/initrd.img @root/initrd.img.old @root/vmlinuz @root/vmlinuz.old
+echo 'do_symlinks=no' > @root/etc/kernel-img.conf
+
+rmdir @root/var/log/journal
+find @root/usr/local -type f -print #-delete
+find @root/etc/systemd/system -name 'rpi*' -print #-delete
+find @root/etc/systemd/system -type d -empty -print -delete
+
+
+echo $THE_HOSTNAME > @root/etc/hostname
+ln -sf /usr/share/zoneinfo/Australia/Sydney @root/etc/localtime
+echo > @root/etc/motd
+
+
+cp ~/monosys/etc/ssh/sshd_config @root/etc/ssh/sshd_config
+ssh-keygen -f @root/etc/ssh/ssh_host_ed25519_key -t ed25519 -N '' -C ''
+cp ~/.ssh/id_ed25519.pub @root/root/.ssh/authorized_keys
+
+
+# boot
+
+ssh root@192.168.1.XXX
+
+passwd -l root
+dpkg-reconfigure raspi-firmware
+apt-get update
+apt-get install locales
+dpkg-reconfigure locales
+apt-get install aptitude curl git python3 vim
+
+curl -sSfL https://code.delx.au/p/dotfiles | bash
+exit
+ssh root@192.168.1.XXX
+
+mkdir /root/bin/
+git clone https://code.delx.au/monosys
+ln -s /root/monosys/bin /root/bin/monosys-bin
+
+
+cp monosys/etc/systemd/network/ethernet.network /etc/systemd/network/
+systemctl stop networking ; systemctl restart systemd-networkd
+systemctl disable networking ; systemctl enable systemd-networkd
+
+
+mkdir /root/monosys/package-lists/local
+ln -s /root/monosys/package-lists/local /root/.aptorphan
+cd /root/monosys/package-lists/local
+ln -s ../debian/base
+cp ../debian/system-raspi system
+aptorphan