Доступен релиз проекта CoreBoot 4.22, в рамках которого разрабатывается свободная альтернатива проприетарным прошивкам и BIOS. Код проекта распространяется под лицензией GPLv2. В создании новой версии приняло участие 135 разработчиков, которые подготовили 977 изменений. Отмечается, что начиная со следующего выпуска проект перейдёт на новую схему наименования версий, использующую привязку к дате (год.месяц.обновление), например, в феврале 2024 года вместо версии 4.23 будет сформирован выпуск 24.02.00.
Основные изменения:
- Добавлена начальная реализация платформы AMD openSIL (Open-Source Silicon Initialization Library), развивающей компоненты для упрощения создания прошивок.
- Добавлена поддержка 17 материнских плат. 11 добавленных плат используются на устройствах с Chrome OS или на серверах Google. Платы, не связанные с Googlе:
- AMD Onyx
- Intel Meteorlake-P RVP
- Purism Librem 11
- Purism Librem L1UM v2
- Siemens FA EHL
- Supermicro X11SSW-F
- Добавлена поддержка SoC AMD Genoa.
- На архитектуре x86 на стадиях до инициализации памяти реализована поддержка секции «.data», позволяющая использовать определения глобальных переменных в коде на языке Си. На стадии загрузочного блока данные прикрепляются сразу после кода и затем размещаются в кэше, используя концепцию 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».
Источник: http://www.opennet.ru/opennews/art.shtml?num=60224