Pop_os mit btrfs und subvolumes installieren

Pop_os 22.04 mit btrfs und subvolumes installieren

Wer mich kennt der weiß ich mag Pop_os. Was ich nur nicht mag ist das Pop_os btrfs nicht mit subvolumes installiert und somit viel Potenzial liegen lässt.
Vielen Dank an Willi Mutschler der in seinem Video zeigt wie man Pop_os mit verschlüsselung und btrfs Supvolumes installiert.

zu Willi Mutschlers Video

Diesem Video liegt meine Anleitung zugrunde nur das ich nicht die Verschlüsselung übernommen habe.

Das ganze bezieht sich auf ein efi-System.

Um Zeit mit Patritionieren zu sparen ,einfach einmal normal installieren und den pop_os installer die Arbeit machen lassen.
Sobald die Installation fertig ist nicht neustarten und den Installer beenden und erneut starten nur
diesmal machen wir eine custom install:

1. boot efi fat32
2. custom /recovery fat32
3. /root btrfs
4. swap

nach der installation NICHT Neustarten sondern ein Terminal öffnen.

Pop_os benutzt btrfs ohne Subvolumes, welche aber für Timeshift benötigt werden.
Wichtig ist die Bezeichnung der Subvolumes „@“ und „@home“, das ist bei timeshift hardcodet und ohne diese Bezeichnung funktionieren die btrfs Snapshots in Timeshift nicht.

Also machen wir uns zu root, mounten das oberste btrfs subvolid=5 nach /mnt erstellen dann das Subvolume @ und verschieben alle Dateine nach @ (Fehler kann vernachlässigt werden und ist logisch das man nicht in sich selbst verschieben kann) und zuletzt erstellen wir noch @home und verschieben alle Benutzerdateien dort hin.

sudo -i
mount -o subvolid=5,defaults,compress=zstd,discard=async /dev/sdx3 /mnt
ls /mnt
btrfs subvolume create /mnt/@
mv /mnt/* /mnt/@/
btrfs subvolume create /mnt/@home
mv /mnt/@/home/* /mnt/@home/
btrfs subvolume list /mnt


Danach muss das ganze noch in der fstab angepasst werden:

nano /mnt/@/etc/fstab

dort muss dann für „/“ und „/home“ folgende Anpassungen gemacht werden:

UUID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   /      btrfs  defaults,subvol=@,compress=zstd,discard=async   0   0
UUID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   /home  btrfs  defaults,subvol=@home,compress=zstd,discard=async   0   0

Damit das ganze beim nächsten Kernelupdate nicht vor die Wand fährt müssen noch kleine Ergänzungen in der /mnt/@/etc/kernelstub/configuration gemacht werden:

im „user“ Bereich eine neue Zeile hinzufügen(Komma bei der Zeile davor nicht vergessen) mit

"rootflags=subvol=@"

Danach mounten wir die efi Partitione

mount /dev/sdx1 /mnt/@/boot/efi

um dann in der

nano /mnt/@/boot/efi/loader/entries/Pop_OS-current.conf

rootflags=subvol=@

an das Ende der options-Zeile zu hängen.

Zum Schluss muss nochmal das initramfs neu generiert werden, dazu hängen wir alles erstmal aus um alles was wir für eine chroot-Umgebung brauchen zu mounten und erneuern dann im chroot das initramfs:

cd /
umount -l /mnt
mount -o subvol=@,defaults,compress=zstd,discard=async /dev/sdx3 /mnt
for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
chroot /mnt
### zum testen mount -av ###
update-initramfs -c -k all

wenn das initramfs ohne Probleme neu erstellt wurde dann 3x exit eingeben und das System neustarten(Finger dabei kreuzen schadet nicht) und fertig.

Falls beim initramfs wilde python-Fehler erscheinen dann kontrolliert nochmal ob ihr ein Komma in der /mnt/@/etc/kernelstub/configuration gemacht habt.

Jetzt könnt Ihr timeshift installieren

sudo apt install timeshift

und konfigurieren und dann noch zusätzlich:

timeshift-auto-snap und grub-btrfs installiern

sudo apt install build-essential
git clone https://github.com/wmutschl/timeshift-autosnap-apt.git /home/$USER/timeshift-autosnap-apt
cd /home/$USER/timeshift-autosnap-apt
sudo make install

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert