Выпуск Coreboot 4.9

Опубликован релиз проекта CoreBoot 4.9, в рамках которого разрабатывается свободная альтернатива проприетарным прошивкам и BIOS. В создании новой версии приняло участие 175 разработчиков, которые подготовили 2610 изменений.

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

  • Модернизирован код обработки блобов. Компания Intel предоставила лицензию на зеркалирование компонентов прошивок FSP (Firmware Support Package), что позволило разместить их на сайте coreboot.org и интегрировать в сборочную систему, упростив процесс создания рабочих образов для устройств, завязанных на проприетарном коде инициализации от Intel;
  • Добавлена поддержка сжатия загрузочного блока (bootblock). Для минимизации размера данных, читаемых с очень медленных Flash, добавлен код для распаковки bootblock в SRAM;
  • Расширено использование стадии postcar (обработка cache-as-ram вынесена в отдельную стадию);
  • Порт для архитектуры POWER8 переименован в PPC64 для более ясного отражения того, что он не ограничен только системами на базе процессоров POWER8;
  • Добавлена поддержка загрузки payload-обработчиков FIT (uImage) на системах arm64;
  • Добавлен API для настройки защиты SPI flash от записи (реализовано для чипов Winbond);
  • Добавлена поддержка технологии измеряемой загрузки (Measured boot) и реализованы средства ведения для ведения лога загрузки в TCPA (вычисляет и сохраняет в Trusted Platform Module параметры каждого загружаемого компонента для последующей внешней верификации);
  • В libpayload добавлена поддержка GDB на архитектуре ARM64;
  • В payload-обработчик uImage/FIT добавлена поддержка размещения initrd в областях выше 4GiB. Подготовлена документация на uImage/FIT;
  • Инструментарий обновлён до gcc 8.1.0, binutils 2.30, IASL 20180810 и clang 6;
  • Улучшен инструментарий для проверки стиля кодирования и выявления типовых ошибок. Обновлена инфраструктура для автоматизированного тестирования;
  • Добавлена поддержка 56 материнских плат:
    • ASROCK G41C-GS, G41M-GS, G41M-S3, G41M-VS3 R2.0, H81M-HDS
    • ASUS P5QC, P5QL-PRO, P5Q-PRO, P8H61-M-LX, P8H61-M-PRO
    • CAVIUM CN8100-SFF-EVB
    • FACEBOOK WATSON
    • FOXCONN D41S
    • GIGABYTE GA-H61M-S2PV
    • GOOGLE ALEENA, AMPTON, ARCADA, ASUKA, BOBBA, BUDDY, CAREENA, CAROLINE, CASTA, CAVE, DELAN, DRAGONEGG, FLEEX, HATCH, KARMA, KUKUI, LIARA, MEEP, RAMMUS, SARIEN, SENTRY
    • HEWLETT PACKARD HP COMPAQ 8200 ELITE SFF PC
    • INTEL COFFEELAKE RVP11, COFFEELAKE RVP8, COFFEELAKE RVPU, DG41WV, ICELAKE RVPU, ICELAKE RVPY, WHISKEYLAKE RVP
    • LENOVO T431S, THINKCENTRE A58, W500, W530
    • OPENCELLULAR ELGON, ROTUNDU, SUPABRCKV1
    • SIEMENS MC-APL2, MC-APL3, MC-APL4, MC-APL5
  • Добавлена поддержка SoC на базе чипов Cavium CN81xx, Intel Ice Lake и Mediatek MT8183. Прекращена поддержка Broadcom Cygnus, Lowrisc и Marvell mvmap2315;
  • Прекращена поддержка северных мостов AMD K8, VIA CN700, VIA CX700, VIA VX800, так как связанный с ними код не поддерживает «EARLY_CBMEM». Код intel/e7505 переведён на использование EARLY_CBMEM, код nb/intel/i945, e7505, pineview, x4x, gm45, i440bx на POSTCAR_STAGE, а код nb/intel/i440bx, e7505 на RELOCATABLE_RAMSTAGE. В intel/x4x добавлена поддержка DDR3;
  • Проведена большая чистка кода. В ramstage удалён код для работы со слишком раздутыми структурами device_t (вместо них теперь используется «struct device*»). Почищены необязательные директивы include. Внесены правки для приведения кода к соответствию утверждённому проектом стилю кодирования. Прекращена поддержка кода, оставшегося без сопровождения;
  • Удалён дублирующийся код поддержки похожих типовых плат, вместо которого задействована новая возможность для поддержки одним универсальным кодом разных вариантов плат (таким способом без дублирования кода унифицирована поддержка похожих друг на друга плат для Chrome OS и Lenovo Thinkpads);
  • Удалена поддержка 71 материнской платы. Чистка коснулась плат, которые в прошлых выпусках были объявлены устаревшими и остались без сопровождения. Связанный данными платами код был завязан на некоторые устаревшие возможности Coreboot и не адаптирован для пришедшей им на смену новой функциональности.

© OpenNet