Nach zwei Jahren Entwicklung wurde die stabile Version des modularen plattformübergreifenden Bootloaders GNU GRUB 2.14 (GRand Unified Bootloader) veröffentlicht. GRUB unterstützt eine Vielzahl von Plattformen, einschließlich herkömmlicher PCs mit BIOS, IEEE-1275-Plattformen (Hardware auf Basis von PowerPC/Sparc64), EFI-Systemen, Systemen mit RISC-V, Loongson, Itanium, ARM, ARM64, LoongArch und ARCS (SGI), Geräten, die das kostenlose CoreBoot-Paket verwenden. Der Projektcode ist in C geschrieben und wird unter der GPLv3-Lizenz vertrieben.
Hauptneuheiten:
- Die Unterstützung für die Integritätsprüfung von Daten in logischen Volumes von LVM (LVM LV) wurde hinzugefügt, die über dm-integrity implementiert wird.
- Die Unterstützung für Konfigurationen wurde hinzugefügt, die LVM Cachevol für den beschleunigten Zugriff auf langsame Festplatten durch Caching von Daten auf schnellen Speichermedien verwenden.
- Die Unterstützung des Dateisystems EROFS (Extendable Read-Only File System), das von Huawei für die Verwendung auf Partitionen im Nur-Lese-Modus entwickelt wurde, wurde hinzugefügt. Die Struktur von EROFS wurde erheblich vereinfacht, indem bei der Implementierung einige Bereiche der Metadaten, wie z. B. die Bitmap freier Blöcke, verworfen wurden. EROFS unterstützt die Speicherung von Daten in komprimierter Form, verwendet jedoch einen anderen Ansatz zur Speicherung von komprimierten Blöcken, der optimiert ist für hohe Leistung den zufälligen Zugriff auf Daten.
- Die Möglichkeit, den Block mit den Umgebungsvariablen von GRUB im reservierten Bereich des Headers des Btrfs-Dateisystems zu platzieren, wurde hinzugefügt. In solchen Variablen können Daten über die verwendete standardmäßige Boot-Partition gespeichert werden.
- Die Unterstützung für das Starten von EFI-Abbildern von GRUB im NX (No Execute)-Schutzmodus wurde hinzugefügt, der die Ausführung von Instruktionen in Gedächtnisbereichen, die nicht als ausführbar gekennzeichnet sind, verbietet.
- Die Unterstützung für das Shim loader-Protokoll wurde hinzugefügt, das für das verifizierte Booten des Shim-Layers verwendet wird, um im UEFI Secure Boot-Modus zu booten.
- Die Unterstützung für das Booten von vereinheitlichten Kernelbildern UKI (Unified Kernel Image), die einen Handler zum Booten des Kernels aus UEFI (UEFI boot stub), das Linux-Kernel-Image und das in den Arbeitsspeicher geladene Systemumfeld initrd, das für die initiale Initialisierung in der Phase vor dem Mounten des Root-Dateisystems verwendet wird, kombinieren, wurde hinzugefügt. Das UKI-Image wird als eine ausführbare Datei im PE-Format erstellt, die mit traditionellen Bootloadern oder direkt aus der UEFI-Firmware aufgerufen werden kann.
- Unterstützung der universellen Bootloader-Konfigurationsformat BLS (Boot Loader Specification) hinzugefügt, für die ein blscfg-Befehl implementiert wurde.
- Unterstützung des Passwort-Hashing-Schemas Argon2 hinzugefügt.
- Unterstützung des TPM2 Key Protectors für die automatische Entsperrung verschlüsselter Bereiche beim Booten hinzugefügt, indem die Informationen zum Entschlüsseln der Schlüssel im TPM (Trusted Platform Module) gespeichert werden.
- Unterstützung für angehängte digitale Signaturen (Appended Signature, wird verwendet, um eine Signatur an Linux-Kernelmodule anzuhängen, ohne die Datei selbst zu ändern) während der Boot-Verifizierung im Secure Boot-Modus auf PowerPC-Systemen hinzugefügt.
- Die Option „—disable-cli“ wurde implementiert, um die Befehlszeilenoberfläche von GRUB zu sperren und die Bearbeitung des Menüeintrags zu verbieten.
- Unterstützung für Daten hinzugefügt, die nicht in den Bereich von 1901-2038 fallen.
- Unterstützung für das Entpacken von Daten, die mit dem ZSTD-Algorithmus komprimiert wurden, hinzugefügt.
- Wechsel zur Verwendung der neuen Version der Kryptografiebibliothek Libgcrypt 1.11.0 vollzogen (zuvor wurde die Version libgcrypt 1.5.3 verwendet, die 2013 erstellt wurde).
- Behebung angesammelter Sicherheitsanfälligkeiten (1, 2).
Quelle: opennet.ru
