Выпуск Coreboot 4.22

Доступен релиз проекта 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