logo

Suletuxe.de
Linux - Nutzer
helfen
Linux - Nutzern

Willkommen, Gast. Bitte Login oder Registrieren.
02. Mai 2025, 13:04:20
Übersicht Hilfe Suche Login Registrieren

Amateurfunk Sulingen
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe  |  allgemeine Kategorie  |  Installation, Einrichtung und Systempflege  |  Thema: Optimierter Linux-Start mit Booster « zurück vorwärts »
Seiten: [1] nach unten Drucken
   Autor  Thema: Optimierter Linux-Start mit Booster  (Gelesen 310 mal)
Sebastian
YaBB God
*****

Offline

Einträge: 663





Profil anzeigen
Optimierter Linux-Start mit Booster
« am: 28. Dezember 2024, 14:07:51 »

Einleutung:

Hallo Suletuxe,

ich bin die Tage auf Booster, einen Initrd Generator gestoßen, der mich von der Generierung der Initrd (unter 2 Sekunden) und auch von der Bootgeschwindigkeit voll überzeugt hat. Ein Booster Inird ist auch grade mal auf mein System zugeschnitten, 10 MiB groß. Und das will schon was heißen, da ich sehr viele Kernel Module benötige, weil ich so was wie LUKS, LVM, etc. einsetzte. Aber alles weiter erkläre ich weiter unten.

Was ist Booster?

Booster ist ein schneller und sicherer Initramfs-Generator, der designt wurde, um Initramfs-Images für das frühe Stadium des Linux-Bootprozesses zu erstellen. Er zielt darauf ab, einfach, sicher und schnell zu sein, was ihn für Anwendungsfälle mit Voll-Disk-Verschlüsselung und automatischer Host-Konfigurations-Erkennung geeignet macht.

Funktionen und Fähigkeiten:

  • Schnelle Initrd-Erstellung: Booster ist für Geschwindigkeit optimiert und ermöglicht die schnelle Erstellung von Initramfs-Images. (In den meisten fällen unter 2 Sekunden)
  • Voll-Disk-Verschlüsselung Unterstützung:Booster unterstützt LUKS-basierte Voll-Disk-Verschlüsselungen out of the box, einschließlich Clevis-Style-Datenbindung und automatischer Entsperrung mit TPM2-Chips oder Netzwerkdiensten.
  • Systemd-Cryptenroll-Unterstützung: Booster kann systemd-Cryptenroll nutzen, um z.b. fido2 und tpm2 zu erkennen und zum Entsperren von Partitionen zu nutzen.
  • Automatische Host-Konfigurations-Erkennung: Booster kann minimale Images für den aktuellen Host erstellen, indem es Netzwerkeinstellungen, IP-Adressen und andere host-spezifische Details automatisch erkennt und konfiguriert.
  • Konfigurierbar: Die Konfigurationsdatei von Booster befindet sich unter /etc/booster.yaml und ermöglicht es Benutzern, den Initrd-Erstellungsprozess anzupassen.
  • Unterstützung für verschiedene Kernel-Module: Booster kann Kernel-Module ein- oder ausschließen, wie z.B. proprietäre Treiber wie amdgpu.


Zusammenfassung:

Booster ist ein vielseitiger und effizienter Initramfs-Generator, der robuste Unterstützung für Voll-Disk-Verschlüsselung, automatische Host-Konfiguration und anpassbare Kernel-Modul-Einbindung bietet, was es zu einer geeigneten Wahl für eine breite Palette von Linux-Systemen und Anwendungsfällen macht. Speziell für Arch Linux basierende Distributionen, bringt booster pacman Hooks mit, die den Initrd Erstellungsprozess bei einem Kernel Update Automatisieren.

Nachtrag:

Nachfolgend von mir noch warum ich auf Booster als mein Initrd Generator umgestiegen bin:

  • mkinitcpio: Der Standard Arch Linux Initrd Generator. Muss vollständig von Hand konfiguriert werden und bietet keine Automatische Host-Konfigurations-Erkennung. Dies ist einer der Gründe, warum beim Erstellen auch so viele Warnungen generiert werden. Da die meisten ihn nicht vollständig konfigurieren und überflüssige Module mit ins Image packen lassen.
  • dracut: Der Standard unter EndeavourOS. Schon mit Automatische Host-Konfigurations-Erkennung, aber benötigt für die Erstellung einer Initrd viel länger als booster. Das unteraderem daran liegt das in der Initrd ein systemd startet.
  • booster: Schnell, kleine initrd und Verschlüsselung Out of the box


Was ich Konfigurieren musste:

Booster Konfiguration:

In der /etc/booster.yaml habe ich folgende Eintragungen gemacht:

Code:

universal: false
compression: zstd
strip: true
extra_files: /crypto_keyfile.bin

Was die Optionen bewirken entnimmt, bitte dem Handbuch booster(1). Falls ihr LVM oder ein mdraid in Einsatz habt, wären die Optionen enable_lvm, enable_mdraid für euch intressant.

Bootloader Konfiguration:

Für einen Bootloader (GRUB) habe ich dann noch neue Menü Einträge generieren lassen. Wo auf der Kernel commandline folgende Parameter an booster übergeben werden:

Code:

rd.luks.name=$UUID=$NAME rd.luks.key=$PATH rd.luks.options=discard

Entfernung der crypttab

Zum Schluss musste ich dann noch die /etc/crypttab Datei entfernen, damit mein systemd nicht nocheinmal versucht die Root Partition aufzuschließen. Diese wurde von Booster bereits geöffnet.

Was habe ich gelernt?:

  • Umgang und Konfiguration von booster
  • Kernel Commandline Parameter sind nicht konsistent: Besonders die Paramter die mit rd. anfangen, sind auf den Initrd Generator zugeschnitten. Es wird unter den Entwicklern zwar versucht, einen Standard zu wahren, aber man darf sich nicht darauf verlassen.
  • crypttab nur bei systemd: Diese wird nur bei initrd generatoren benötigt die ein systemd im initrd image einsetzten um die Root Partition zu öffnen.


Ich hoffe wie immer, das jemand meinen Beitrag auf irgendeiner Art und Weise nützlich fand.

LG
Sebastian
« Letzte Änderung: 28. Dezember 2024, 14:08:41 von Sebastian » Gespeichert

Richtig um Hilfe bitten
Andreas
Administrator
*****

Offline

Einträge: 1474



Linux von Innen

Profil anzeigen
Re:Optimierter Linux-Start mit Booster
« Antwort #1 am: 28. Dezember 2024, 14:36:00 »

Fand ich zunächst höchst interessant. Ich habe schon vor Jahren mittels bootchart meine Systeme auf "schnellstes Booten" optimiert... Also habe ich "booster" probiert. Das Ergebnis war ernüchternd: Die initramsfs war nur 200K kleiner als die zuvor mittels mkinitcpio erstellte, und der Bootvorgang war nicht objektiv schneller als vorher... Offenbar ist eine schon optimierte initramfs mittels booster nicht signifikant zu verbessern. Die 200K Plattenplatzersparnis lasse ich mal außer acht...

LG
Andreas
Gespeichert

Wissen ist das einzige Gut, das mehr wird, wenn man es teilt - wenn es Menschen gibt, die es teilen, und es Menschen gibt, die bereit sind, dieses Geschenk auch mit eigenem Einsatz anzunehmen.


Freiheit zu erkämpfen reicht nicht. Man muss sie auch verteidigen.


Ohne IT-Kompetenz ist man heutzutage ein willkommenes Opfer und Spielball anderer, egal, welches System oder Gerät man nutzt. Nur Wissen schützt vor Schaden!
Sebastian
YaBB God
*****

Offline

Einträge: 663





Profil anzeigen
Re:Optimierter Linux-Start mit Booster
« Antwort #2 am: 28. Dezember 2024, 16:42:30 »

Irgendwann ist halt auch nicht mehr herauszuholen, falls man da schon dran gefeilt hat. Aber was ich draus lese ist, das du einiges von Hand Optimieren musstest. Die Autoerkennung von booster hatte bei mir schon einiges ausgemacht, entgegen der Autoerkennung von dracut.

Mit mkinitpico habe ich kein vergleich, da ich diesen schon lange nicht mehr nutze.

Was vielleicht unter dem Teppich gefallen ist, (weil nicht ganz so wichtig) ist die Zeit zum erstellen der Initrd. Wie gesagt booster Schaft ein image innerhalb von unter 2 Sekunden bei mir zu bauen. Dracut hatte da ca 40 Sekunden gebraucht. mkinitpico ist schon bei mir lange her, aber ich weis das dieser auch nicht in 2 Sekunden fertig war sondern auch wesentlich länger gebraucht hat. Dadurch ist ein Update dann auch schneller fertig wenn ein Kernel Update dabei ist.

Das soll hier aber auch nur von mir eine Anregung sein, weil ich gerne öfter auch was neues Ausprobiere und keinen falls einen weg beschreibt, dass es nichts Besseres gibt. Denn wir sprechen hier immer noch von Sekunden Zeitersparnis. Selbst wenn das bauen eines Images oder Booten 30-60 Sekunden dauern würde, spielt das für mich auch nicht wirklich eine Rolle (und ist mir noch schnell genug). Solange das keine Bootzeiten wie mit einer HDD wird ist alles gut. 

Dafür hat ja auch jeder einen ganz anderen Bedarf. Mir kommen z.b. die ganzen Verschlüsselungssachen zugute, die für dich keine Rolle spielen, denke ich. Ja mkinitpico kann das auch aber wieder nur nach manueller Konfiguration. (Sprich Hooks in der Richtigen rein Folge einarbeiten etc.). Aber das ist halt für mich auch nur ein komfort Feature, das ich hier gerne mitnehme, weil ich viel mit Verschlüsselung mache.


LG
Sebastian
« Letzte Änderung: 28. Dezember 2024, 16:48:40 von Sebastian » Gespeichert

Richtig um Hilfe bitten
Sebastian
YaBB God
*****

Offline

Einträge: 663





Profil anzeigen
Booster hat Probleme mit btrfs
« Antwort #3 am: 30. Dezember 2024, 14:11:17 »

Hallo Suletuxe,

Leider ist mir das erst später aufgefallen, da das System augenscheinlich ohne Probleme läuft.
Booster hat, anscheint ein Problem wenn btrfs im Einsatz ist. Und zwar zeigt mir lsblk -f nicht mehr vernünftig, alle mount Punkte von einem btrfs an. Es ist zwar alles ordentlich gemountet und funktioniert aber die Anzeige spinnt. So das bei jedem neuen Boot nur ein zufälliger Mount Punkt der Subvolumes angezeigt wird und nicht mehr alle.

Besonders, weil ich wert drauflege, dass der Intramfs Automat die meisten Dinge erkennen soll. So das ich nicht mehr viel Konfigurieren muss, ist booster bei mir erst einmal raus. Schade da mir besonders die Erzeugung eines Images innerhalb von 2 Sekunden sehr gefallen hatte.

LG
Sebastian
Gespeichert

Richtig um Hilfe bitten
Seiten: [1] nach oben Drucken 
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe  |  allgemeine Kategorie  |  Installation, Einrichtung und Systempflege  |  Thema: Optimierter Linux-Start mit Booster « zurück vorwärts »
Gehe zu: 


Login mit Username, Passwort und Session Länge

 Es wird die Verwendung "Blink"-basierter Browser und mindestens 1024x768 Pixel Bildschirmauflösung
für die beste Darstellung empfohlen
 
freie Software für freie Menschen!
Powered by MySQL Powered by PHP Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Valid XHTML 1.0! Valid CSS!