preseed Partitionierung - BTRFS Subvolumes erstellen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Froelich
Beiträge: 16
Registriert: 01.01.2021 22:29:27

preseed Partitionierung - BTRFS Subvolumes erstellen

Beitrag von Froelich » 08.03.2024 22:56:15

Hallo zusammen,

ich habe keine Ahnung ob ich hier richtig mit dem Thema bin, es ist schon etwas speziell.
Zur Installation von Debian nehme ich eine preseed-Datei zur Hilfe, die mir viele einzelne Eingaben erspart, aber trotzdem bei Bedarf mein ganz speziell zugeschnittenes Debian installiert. Beim Partitionieren hatte ich bisher aber nichts allzu wildes:

Code: Alles auswählen

## Partioning:
d-i partman-auto/init_automatically_partition select biggest_free
d-i partman-auto/method string crypto
d-i partman-auto/choose_recipe select atomic
Die drei Zeilen veranlassen, dass auf dem größten freien Speicher, eine 1GB unverschlüsselte ext2 boot-Partition erstellt wird, eine 1GB SWAP-Patiton, der restliche freie Speicher wird zur verschlüsselten ext4 root Partition und je nach Bedarf wird am Anfang noch eine 500MB EFI-Partition angelegt. Hat soweit super gepasst, aber in letzter Zeit experimentiere ich hin und wieder in VMs mit timeshift in Kombination mit BTRFS. Und das funktioniert auch unter Debian bestens, solange man die richtigen Anpassungen bei der Installation vornimmt. Und das ist schon einiges an Tipparbeit, in einer zweiten Shell vor dem Schritt der Basisinstalltion von Hand die Subvolumes umzubasteln, daher wollte ich schnell mit paar weiteren Zeilen in der preseed für Automatisierung sorgen.

Mit

Code: Alles auswählen

d-i partman/default_filesystem string btrfs
habe ich auch direkt ein btrfs anstelle ext4 auf der root Partition, sonst bleibt alles gleich.
Jetzt benötigt aber timeshift zwingend das Ubuntu-typische Btrfs-subvolume-layout. Das besteht aus @ für / und @home für /home. Debian erstellt aber immer nur ein volume names @rootfs.

Wie schaffe ich es, dass zwei btrfs-Subvolumes auf der root-Partition angelegt werden, eins für root (@) und eins für home (@home)?

Ich habe schon folgendes probiert:

Code: Alles auswählen

# Versuch 1 btrfs subvolumes zu erstellen
#d-i preseed/late_command string \
#  in-target /usr/sbin/btrfs subvolume create /@; \
#  in-target /usr/sbin/btrfs subvolume create /@home

# Versuch 2 btrfs subvolumes zu erstellen
d-i partman-btrfs/subvol_@ string /
d-i partman-btrfs/subvol_@home string /home
#d-i partman-btrfs/subvolumes string @,@home
d-i partman-btrfs/subvolathome boolean true	
Das Debiantypische einzelne volume @rootfs bleibt bestehen und die preseed läuft als hätte ich nichts geändert, bis auf das btrfs dateisystem.

Ich habe es dann auch direkt mal mit dem "Expertenrezept" probiert, fand es aber super schwer da das gleiche Ergebnis zu erzielen wie oben, also efi-Partition nur bei Bedarf, automatisch größten freien Speicher für root wählen etc. Es soll sich ja im Gunde an den Partitionen nichts ändern, sondern nur an den subvolmes.

Wär schön wenn mir hier jemand helfen kann und ich bei den Thema mal weiter komme :)
Besten Dank und sorry für den Roman

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: preseed Partitionierung - BTRFS Subvolumes erstellen

Beitrag von jph » 20.03.2024 20:45:32

Hm, wäre es eine Idee, ein nacktes Debian per Seeding aufzusetzen und dieses anschließend fein zu tunen?

https://btrfs.readthedocs.io/en/latest/ ... evice.html

Froelich
Beiträge: 16
Registriert: 01.01.2021 22:29:27

Re: preseed Partitionierung - BTRFS Subvolumes erstellen

Beitrag von Froelich » 24.03.2024 22:15:43

Hallo und vielen Dank für deine Antwort!

Ich werde mir das mal anschauen wenn ich Zeit dafür habe.
Bisher habe mir dann doch mit dem Late-Command helfen können. Das ist zwar nicht schön, dass der Installer erst die Volumes auf seine Weise erstellt und das komplette System installiert und zum Schluss alles noch mal geändert wird, aber es läuft soweit.
Dieses Vorgehen macht den Late-Command auch entsprechend umständlich: er beinhaltet das Erstellen der Subvolumes, verschieben der Dateien, löschen der alten Volumes, anpassen der Fstab und chrooten ins neu installiere System um grub-mkconfig auszuführen.

Antworten