]> code.delx.au - monosys/blob - notes/raspi-headless:debian-bookworm.txt
b29a0e51dacd6db7f6a0aac8919d3e95047ea5ba
[monosys] / notes / raspi-headless:debian-bookworm.txt
1 THE_DEV=/dev/mmcblk0
2 THE_HOSTNAME=somehost
3
4
5 raspi.debian.net
6 xzcat image.xz | pv > $THE_DEV
7
8
9 gdisk $THE_DEV
10 # resize partition 2
11
12
13 btrfs-convert ${THE_DEV}p2
14 mount ${THE_DEV}p2 /mnt
15 btrfs fi resize max /mnt
16 cd /mnt
17 rmdir lost+found
18
19 btrfs subv create @root
20 mv ./* @root/
21 mv @root/ext2_saved/ @ext2_saved
22 mkdir @root/btrfs
23 btrfs subv create @apt; mv @root/var/cache/apt/archives/* @apt/
24 btrfs subv create @vartmp; chmod 1777 @vartmp ; chmod 0755 @root/var/tmp
25 btrfs subv set-default @root
26
27 cat <<EOT >| @root/etc/fstab
28 # <file system> <dir> <type> <options> <dump><pass>
29 LABEL=RASPIROOT / btrfs subvol=@root,discard,compress,nodev 2 0
30 LABEL=RASPIROOT /btrfs btrfs subvol=/,discard,compress,nodev,nosuid 0 0
31 LABEL=RASPIROOT /var/cache/apt/archives btrfs subvol=@apt,discard,compress,nodev,nosuid 0 0
32 LABEL=RASPIROOT /var/tmp btrfs subvol=@vartmp,discard,compress,nodev,nosuid 0 0
33 LABEL=RASPIFIRM /boot/firmware vfat discard,nodev,nosuid,noexec 1 0
34 EOT
35
36
37 rm @root/initrd.img @root/initrd.img.old @root/vmlinuz @root/vmlinuz.old
38 echo 'do_symlinks=no' > @root/etc/kernel-img.conf
39
40 rmdir @root/var/log/journal
41 find @root/usr/local -type f -print #-delete
42 find @root/etc/systemd/system -name 'rpi*' -print #-delete
43 find @root/etc/systemd/system -type d -empty -print -delete
44
45
46 echo $THE_HOSTNAME > @root/etc/hostname
47 ln -sf /usr/share/zoneinfo/Australia/Sydney @root/etc/localtime
48 echo > @root/etc/motd
49
50
51 cp ~/monosys/etc/ssh/sshd_config @root/etc/ssh/sshd_config
52 ssh-keygen -f @root/etc/ssh/ssh_host_ed25519_key -t ed25519 -N '' -C ''
53 cp ~/.ssh/id_ed25519.pub @root/root/.ssh/authorized_keys
54
55
56 # boot
57
58 ssh root@192.168.1.XXX
59
60 passwd -l root
61 dpkg-reconfigure raspi-firmware
62 apt-get update
63 apt-get install locales
64 dpkg-reconfigure locales
65 apt-get install aptitude curl git python3 vim
66
67 curl -sSfL https://code.delx.au/p/dotfiles | bash
68 exit
69 ssh root@192.168.1.XXX
70
71 mkdir /root/bin/
72 git clone https://code.delx.au/monosys
73 ln -s /root/monosys/bin /root/bin/monosys-bin
74
75
76 cp monosys/etc/systemd/network/ethernet.network /etc/systemd/network/
77 systemctl stop networking ; systemctl restart systemd-networkd
78 systemctl disable networking ; systemctl enable systemd-networkd
79
80
81 mkdir /root/monosys/package-lists/local
82 ln -s /root/monosys/package-lists/local /root/.aptorphan
83 cd /root/monosys/package-lists/local
84 ln -s ../debian/base
85 cp ../debian/system-raspi system
86 aptorphan