30.06.2022

Выпуск Coreboot 4.16

Опубликован релиз проекта CoreBoot 4.16, в рамках которого разрабатывается свободная альтернатива проприетарным прошивкам и BIOS. Код проекта распространяется под лицензией GPLv2. В создании новой версии приняло участие 170 разработчиков, которые подготовили 1770 изменений.

Основные новшества:

  • Добавлена поддержка 33 материнских плат, 22 из которых используется на устройствах с Chrome OS или на серверах Google. Среди не связанных с Googlе плат:
    • Acer Aspire VN7-572G
    • AMD Chausie
    • ASROCK H77 Pro4-M
    • ASUS P8Z77-M
    • Emulation QEMU power9
    • Intel Alderlake-N RVP
    • Prodrive Atlas
    • Star Labs Star Labs StarBook Mk V (i3-1115G4 и i7-1165G7)
    • System76 gaze16 3050, 3060 и 3060-b
  • Прекращена поддержка материнских плат Google Corsola, Nasher и Stryke.
  • Добавлена поддержка CPU Power9 и SoC AMD Sabrina.
  • Добавлена опция для отключения подсистемы IME (Intel Management Engine), которая поставляется в большинстве современных материнских плат с процессорами Intel и реализована в виде отдельного микропроцессора, работающего независимо от CPU и выполняющего задачи, которые необходимо отделить от операционной системы, такие как обработка защищённого контента (DRM), реализация модулей TPM (Trusted Platform Module) и низкоуровневые интерфейсы для мониторинга и управления оборудованием. Для отключения IME в системах с процессорами начиная с семейства Skylake и заканчивая Alder Lake в CMOS задействован параметр me_state, присвоение значения 1 которому приведёт к отключению движка. Для изменения состояния CSME через CMOS добавлен метод «.enable», состояние которого соответствует параметру me_state.
  • Добавлен coreboot-configurator, простой графический интерфейс для изменения настроек CMOS в Coreboot CBFS, использующий утилиту nvramtool.
  • Добавлена утилита apcb_v3_edit для редактирования бинарных файлов APCB V3 (AMD PSP Customization Block) и подстановки в них до 16 SPD (Serial Presence Detect).
  • Обновлены субмодули amd_blobs, arm-trusted-firmware, blobs, chromeec, intel-microcode, qc_blobs и vboot.
  • В MP init перенесён код для настройки LAPIC (Local Advanced Programmable Interrupt Controller).
  • Добавлена поддержка ANSI escape-последовательностей для выделения важных событий, например, ошибок и предупреждений, при выводе логов в интерактивной консоли.
  • Реализована функция cbmem_dump_console, похожая на cbmem_dump_console_to_uart, но работающая с обычно настроенными консолями.
  • Настройки Live-образа адаптированы для работы с дистрибутивом NixOS 21.11.
    Прекращена поддержка пакета iasl, который был заменён на acpica-tools.
  • Загрузчик U-Boot обновлён до версии 2021.10.
  • Добавлена поддержка систем, включающих более 128 ядер CPU.
  • Добавлен драйвер для датчиков приближения Semtech sx9360 SAR, используемых в устройствах Samsung.
  • Добавлен драйвер для SD-контроллеров SGenesys Logic GL9750, применяемых в Chromebook.
  • Добавлена поддержка Ethernet-кнотроллеров Realtek RT8125.
  • Добавлен драйвер для Fibocom 5G WWAN ACPI .
  • Добавлена поддержка смешанных топологий памяти при использовании DDR4.
  • Добавлена поддержка спецификации FSP 2.3 (Flexible Software Package).
  • Переработан код для вычисления хэшей, используемых при верификации и оценке состояния CBFS
  • Добавлена поддержка технологии PCI-e Resizable BAR (Base Address Registers), позволяющей CPU обращаться ко всей видеопамяти PCI-карты.

Кроме того, представлен план перехода начиная с выпуска 4.18 на четвёртую редакцию механизма распределения ресурсов (RESOURCE_ALLOCATOR_V4), в которой добавлена поддержка манипуляции несколькими диапазонами ресурсов, использования всего адресного пространства и выделения памяти в области выше 4 ГБ. В выпуске Coreboot 4.18, который ожидается в ноябре, также планируется объявить устаревшим механизм классической инициализации многопроцессорного режима (LEGACY_SMP_INIT), на смену которому пришёл код инициализации PARALLEL_MP.

Источник.