7 Punkte von xguru 2024-07-12 | 1 Kommentare | Auf WhatsApp teilen
  • Das Bootloader-Engineering-Team von Red Hat entwickelt einen neuen Ansatz als Ersatz für den GRUB-Bootloader
  • Vorgeschlagen wird nmbl (no more boot loader), eine schnelle und sichere Linux-basierte User-Space-Lösung
  • Probleme des GRUB-Bootloaders
    • GRUB ist ein leistungsfähiger und flexibler Bootloader, der auf mehreren Architekturen eingesetzt wird (x86_64, aarch64, ppc64le OpenFirmware)
    • Aufgrund seines komplexen Funktionsumfangs ist er jedoch schwer zu warten und überschneidet sich oft mit dem Linux-Kernel oder hinkt ihm hinterher
    • Außerdem verursacht er zahlreiche Sicherheitslücken
  • Vorteile des Linux-Kernels
    • Der Linux-Kernel verfügt über eine große Entwicklerbasis, was schnelle Feature-Entwicklung und Reaktionen auf Schwachstellen ermöglicht
    • Die Gesamtprüfung erfolgt gründlicher
  • Neue Lösung: den Kernel als Bootloader verwenden
    • Er wird über den EFI-Stub von UEFI geladen und als Unified Kernel Image (UKI) paketiert
    • Kernel, initramfs und Kernel-Kommandozeile enthalten alles, was nötig ist, um das endgültige Boot-Ziel zu erreichen
    • Alle erforderlichen Treiber, Dateisystem-Unterstützung und Netzwerkfunktionen sind bereits integriert, wodurch Codeduplizierung vermieden wird

1 Kommentare

 
xguru 2024-07-12

Hacker-News-Kommentare

  • Ich nutze UEFI seit 10 Jahren. Die Bootzeit wird etwas kürzer, aber Bootloader haben mehrere Vorteile

    • Dual-Boot mit Windows ist einfach möglich
    • Man kann die Kernel-Cmdline bearbeiten, um Bootprobleme zu beheben
    • Mehrere Kernel- und initrd-Images lassen sich leicht auswählen
    • Man kommt leicht ins UEFI-Einstellungsmenü
    • Andere EFI-Anwendungen können gebootet werden
  • Der Bootloader von FreeBSD kann ohne initramfs booten. Wir brauchen intelligentere Bootloader

    • Er versteht ZFS und kann die benötigten Module vorab laden
    • Er versteht Modulabhängigkeiten und kann alle benötigten Module im Voraus laden
  • Es gibt viele Missverständnisse über die Funktionen und Einschränkungen der UEFI-Umgebung. Das eigentliche Ziel des Projekts wird falsch verstanden

    • Lennarts kritischer Beitrag wirft interessantere Bedenken auf
  • Das erinnert an MILO, mit dem Linux in den 90ern auf DEC-Alpha-Systemen gebootet wurde

    • Man braucht einen zwischengeschalteten Bootloader und einen Release-Zyklus mit Fokus auf Stabilität
    • Man braucht eine datengetriebene Menü-/Konfigurationsebene
  • Ich habe früher Linux+Coreboot auf einem Chromebook genutzt. Wegen Treiberbugs im Tianocore-UEFI-BIOS habe ich Linux direkt verwendet

    • Ich habe ein Rust-TUI geschrieben, das alle Partitionen mountet und das Kernel-Image per kexec lädt
    • Ich finde nicht, dass man alle Treiber duplizieren muss
  • Es wäre besser, mehr von den Fähigkeiten von UEFI und Linux zu nutzen. ZFSBootMenu bietet seit 4 Jahren eine EFI-Anwendung an

    • Das Booten des Kernels in der ersten Stufe dauert etwa 1,5 bis 2 Sekunden
  • Es gibt Bedenken wegen Kompatibilitätsproblemen mit kexec

    • Zum Beispiel muss das NVidia-Modul vor kexec entladen werden
    • Es gibt auch ACPI- und andere Kompatibilitätsprobleme
    • Ich vermute, dass der kexec-Mechanismus dafür ausgelegt wurde, verschiedene Kernel-Versionen zu unterstützen
  • Der EFI-Stub, der Multiboot einrichtet und dann nach dem Setzen von Kernel und initrd weiterspringt, ist simpel

    • Ein zwischengeschalteter Loader muss nicht zu groß und komplex werden
    • Es ist unnötig, ein vollständiges Linux einzubetten, nur um die UEFI-API und eine andere Programmierumgebung zu vermeiden
  • Ich frage mich, ob die vorgeschlagene Lösung Multi-OS-Boot handhaben kann

    • grub kann Linux, Windows und sogar ein drittes OS booten
    • Es gibt Bedenken, dass die Lösung von Red Hat nur auf kommerzielle Nutzung beschränkt sein könnte
    • Bei Systemen, die nur ein- oder zweimal im Jahr neu gestartet werden, ist schwer zu verstehen, welches Problem damit gelöst werden soll
  • Ich verstehe nicht, warum man diese Lösung statt plain EFISTUB verwenden sollte

    • Ich nutze unter Arch EFISTUB und verwende für Windows-Boot das BIOS-Menü
    • Ich sehe den Vorteil eines Linux-basierten Bootloaders nicht