След две години разработка, представен е стабилен релиз на многоплатформен модулен мениджър на зареждане GNU GRUB 2.14 (GRand Unified Bootloader). GRUB поддържа широк спектър от платформи, включително стандартни PC-та с BIOS, платформи IEEE-1275 (оборудване на базата на PowerPC/Sparc64), EFI системи, системи с процесори RISC-V, Loongson, Itanium, ARM, ARM64, LoongArch и ARCS (SGI), устройства, използващи свободния пакет CoreBoot. Кодът на проекта е написан на езика Си и се разпространява под лиценза GPLv3.
Основни нововъведения:
- Добавена е поддръжка на проверка на целостта на данните в логическите томове LVM (LVM LV), реализирана чрез dm-integrity.
- Добавена е поддръжка на конфигурации, използващи LVM cachevol за ускорен достъп до бавни дискове чрез кеширане на данни на бързи носители.
- Добавена е поддръжка на файловата система EROFS (Разширена файловата система с само за четене), разработена от Huawei за използване на дялове, достъпни само в режим само за четене. Структурата на EROFS е значително опростена, чрез отстраняване на определени области на метаданни при реализацията, като битовата карта на свободните блокове. EROFS поддържа съхранение на данни в компресиран вид, но използва различен подход за съхранение на компресирани блокове, оптимизиран за постигане на висока производителност при произволен достъп до данни.
- Добавена е възможност за разполагане на блока с променливи околности на GRUB в резервирана зона на заглавката на файловата система Btrfs. В подобни променливи могат да се съхраняват данни за използвания по подразбиране зареждащ дял.
- Добавена е поддръжка за стартиране на EFI образите на GRUB в режим на защита NX (No Execute), забраняващ изпълнението на инструкции в области на паметта, специално неноминирани като допустими за изпълнение.
- Добавена е поддръжка на протокола Shim loader, използван за проверено зареждане на shim слоя за зареждане в режим UEFI Secure Boot.
- Добавена поддръжка за зареждане на унифицирани образи на ядрото UKI (Unified Kernel Image), които обединяват обработчика за зареждане на ядрото от UEFI (UEFI boot stub), образа на Linux ядрото и зарежданото в паметта системно обкръжение initrd, използвано за начална инициализация на етапа преди монтиране на кореновата файлова система. UKI-образът е оформен като един изпълним файл в формат PE, който може да бъде зареден чрез традиционни зареждачи или директно извикан от фърмуера на UEFI.
- Добавена поддръжка на универсалната конфигурация на зареждача в формат BLS (Boot Loader Specification), за разбор на която е реализирана команда blscfg.
- Добавена поддръжка на схемата за хеширане на пароли Argon2.
- Добавена поддръжка на механизма „TPM2 key protector“ за автоматично отключване на криптирано разпределение при зареждане, благодарение на съхраняването на информация за разшифроване на ключовете в TPM (Trusted Platform Module).
- Добавена поддръжка за прикрепена цифрова подпись (Appended Signature, използва се за прикрепяне на подпис към модулите на Linux ядрото без промяна на самия файл) при верификация на зареждането в режим Secure Boot на системи PowerPC.
- Реализирана е опцията „—disable-cli“ за блокиране на интерфейса на командния ред GRUB и забрана на редактиране на елементите от менюто.
- Добавена поддръжка на дати, които не попадат в диапазона 1901-2038.
- Добавена поддръжка за разархивиране на данни, компресирани с алгоритъма ZSTD.
- Извършен е преход към използване на нова версия на криптографската библиотека Libgcrypt 1.11.0 (преди се използваше версия libgcrypt 1.5.3, оформена през 2013 година).
- Отстранени са натрупаните уязвимости (1, 2).
Източник: opennet.ru
