Дата публикации:Sun, 03 Dec 2023 10:45:47 +0300
Доступен релиз проекта 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
На архитектуре 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".
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60224