Достъпен е релиз на проекта CoreBoot 4.22, в рамките на който се разработва безплатна алтернатива на проприетарните фърмуер и BIOS. Кодът на проекта се разпространява под лицензия GPLv2. В създаването на новата версия участваха 135 разработчика, които подготвиха 977 промени. Отбелязва се, че от следващото издание проектът ще премине на нова схема за именуване на версиите, използваща свързване с датата (година.mесец.обновление), например, през февруари 2024 година вместо версия 4.23 ще бъде оформен релиз 24.02.00.
Основни промени:
- Добавена е начална реализация на платформата AMD openSIL (Open-Source Silicon Initialization Library), развиваща компоненти за опростяване на създаването на фърмуер.
- Добавена е поддръжка на 17 дънни платки. 11 от добавените платки се използват на устройства с Chrome OS или на сървъри Google. Платките, които не са свързани с Google:
- AMD Onyx
- Intel Meteorlake-P RVP
- Purism Librem 11
- Purism Librem L1UM v2
- Siemens FA EHL
- Supermicro X11SSW-F
- Добавена е поддръжка на SoC AMD Genoa.
- На архитектурата x86 на етапите преди инициализацията на паметта е реализирана поддръжка на секцията «.data», позволяваща използването на определения на глобални променливи в код на езика C. На етапа на зареждащия блок данните се прикрепят веднага след кода и след това се разполагат в кеша, използвайки концепцията Cache-As-RAM (VMA).
- За системи x86 на етапа ramstage и етапите преди инициализацията на паметта е реализирана поддръжка на кеш за файловата система CBFS, използвана за разполагане на компонентите на Coreboot на Flash. Кешът CBFS позволява разпаковането на файлове CBFS, използвайки функцията cbfs_map() без резервиране на отделна област памет за файла. За настройка на размера на кеша са предложени параметрите PRERAM_CBFS_CACHE_SIZE и RAMSTAGE_CBFS_CACHE_SIZE.
- Добавена е възможност за вграждане на romstage в зареждащия блок (bootblock). Доставката на romstage в състава на зареждащия блок позволява да се намали размерът на кода с 10-20 хиляди реда. От ситуации, в които може да се наложи отделна доставка на romstage, се споменават конфигурации с vboot или fallback-режим, както и устройства с ограничен размер на зареждащия блок (Intel APL 32K) или прекалено бавен зареждащ носител (някои ARM SoC).
- В gfx е добавен API за определяне на наличието на външен екран на устройства с чипове Intel.
- В pci_rom е реализирана възможност за добавяне на контрольна сума за VBIOS при попълване на таблицата VFCT. Подобна контрольна сума се проверява от някои драйвери AMD за Windows.
- Добавени са промени, позволяващи стартирането на Windows на някои устройства Chromebook с Coreboot.
- Реализирано е генерирането на таблица ACPI за устройства на базата на архитектура ARM64.
- Подобрен е съвместимостта с спецификациите ACPI.
- Настройките MRC (Memory Reference Code) за платки SNB+MRC са преместени в структурата DeviceTree.
- Актуализирани са компонентите payload на базата на U-Boot и edk2.
- Актуализиран е използваният инструментариум: GMP 6.3.0, binutils 2.41 и MPFR 4.2.1.
- Основната клонка в Git репозитория е преименувана от 'master' на 'main'.
Източник: opennet.ru
