]> code.delx.au - monosys/blob - notes/desktop:debian-bookworm.txt
notes: fix raspi install notes, also @home -> @username
[monosys] / notes / desktop:debian-bookworm.txt
1 THE_DEV=/dev/sda
2 THE_HOSTNAME=somehost
3 THE_USERNAME=someuser
4
5
6 gdisk $THE_DEV
7 ESP 200M ef00
8 XBOOTLDR 824M
9 LUKSROOT
10
11
12 vgcreate $THE_HOSTNAME /dev/disk/by-partlabel/LUKSROOT
13 lvcreate -L16G -nswap $THE_HOSTNAME
14 lvcreate -l100%FREE -nroot $THE_HOSTNAME
15
16 mount /dev/mapper/$THE_HOSTNAME-root /mnt/
17 cd /mnt/
18 btrfs fi label /mnt/ btrfsroot
19 btrfs subv create @root
20 btrfs subv set-default /mnt/@root
21 btrfs subv create @$THE_USERNAME
22 btrfs subv create @apt
23 btrfs subv create @varlog
24 btrfs subv create @vartmp; chmod 1777 @vartmp ; chmod 0755 @root/var/tmp
25 umount /mnt/
26 mount /dev/mapper/$THE_HOSTNAME-root /mnt/
27
28 mkdir -p /mnt/etc/
29 cat <<EOT > /mnt/etc/fstab
30 LABEL=btrfsroot / btrfs subvol=@root,discard,compress,nodev 0 0
31 LABEL=btrfsroot /btrfs btrfs subvol=/,discard,compress,nodev,nosuid 0 0
32 LABEL=btrfsroot /home/$THE_USERNAME btrfs subvol=@$THE_USERNAME,discard,compress,nodev,nosuid 0 0
33 LABEL=btrfsroot /var/cache/apt btrfs subvol=@apt,discard,compress,nodev,nosuid 0 0
34 LABEL=btrfsroot /var/log btrfs subvol=@varlog,discard,compress,nodev,nosuid 0 0
35 LABEL=btrfsroot /var/tmp btrfs subvol=@vartmp,discard,compress,nodev,nosuid 0 0
36 PARTLABEL=XBOOTLDR /boot ext4 discard,nodev,nosuid,noexec 0 0
37 PARTLABEL=ESP /boot/efi vfat discard,nodev,nosuid,noexec 0 0
38 LABEL=swap swap swap discard 0 0
39 tmpfs /tmp tmpfs nosuid,nodev 0 0
40 EOT
41
42
43 debootstrap bookworm /mnt/ https://deb.debian.org/debian
44
45 cat <<EOT > /mnt/etc/apt/sources.list
46 deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
47 deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
48 deb https://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
49 EOT
50
51
52 for i in /dev /proc /sys /run /tmp; do mount --rbind $i /mnt$i; done
53 chroot /mnt/
54 mkdir -p /btrfs/ /boot/efi/ /home/$THE_USERNAME /var/cache/apt/ /var/tmp/
55
56
57 mkdir /run/systemd/resolve/
58 [ -f /run/systemd/resolve/stub-resolv.conf ] || echo 'nameserver 1.1.1.1' > /run/systemd/resolve/stub-resolv.conf
59
60
61 echo $THE_HOSTNAME > /etc/hostname
62 ln -sf /usr/share/zoneinfo/Australia/Sydney /etc/localtime
63 echo do_symlinks=no > /etc/kernel-img.conf
64
65
66 dpkg-reconfigure locales
67 apt-get install aptitude curl git python3 vim
68
69
70 cd /root/
71 curl -sSfL https://code.delx.au/p/dotfiles | bash
72 exit
73
74
75 chroot /mnt/
76 cd /root
77
78 mkdir /root/bin/
79 git clone https://code.delx.au/monosys
80 ln -s /root/monosys/bin /root/bin/monosys-bin
81
82 mkdir /root/monosys/package-lists/local
83 ln -s /root/monosys/package-lists/local /root/.aptorphan
84 cd /root/monosys/package-lists/local
85 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
86 cp ../debian/system-efi-amd64 .
87
88 apt-get update
89 aptorphan
90
91 systemctl disable ssh
92 find /etc/systemd/system -xtype l -delete
93
94 mv /etc/default/grub{,.bak}
95 cp /root/monosys/etc/default/grub /etc/default/grub
96 grub-install
97 update-grub
98
99 passwd root
100 adduser $THE_USER
101 gpasswd -a $THE_USER sudo
102
103 plymouth-set-default-theme spinner
104
105
106
107 # reboot
108
109 flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo