Спустя полгода после анонса последней версии, анонсирован выпуск новой версии CoreBoot 4.12 в который был добавлен ряд улучшений, таких как усиленная поддержка, устранение устаревшего кода и многое другое.
Тем, кто не знаком с CoreBoot, следует знать, что это альтернатива с открытым исходным кодом традиционной базовой системе ввода-вывода (BIOS), который уже был на ПК с MS-DOS 80-х годов, и заменив его на UEFI (Unified Extensible). CoreBoot также является бесплатным аналогом проприетарной прошивки и доступен для полной проверки и аудита. CoreBoot используется в качестве базовой прошивки для инициализации оборудования и координации загрузки.
Включая инициализацию графического чипа, PCIe, SATA, USB, RS232. В то же время двоичные компоненты FSP 2.0 (Intel Firmware Support Package) и двоичное программное обеспечение для подсистемы Intel ME, которые необходимы для инициализации и запуска ЦП и набора микросхем, интегрированы в CoreBoot.
Что нового в CoreBoot 4.12?
В этой новой версии CoreBoot 4.12, участвовали 190 разработчиков и подготовили 2692 изменения среди которых наиболее важными являются следующие.
В Coreboot 4.12 добавлена поддержка 49 материнских плат, большинство из которых используются на устройствах с Chrome OS.
С другой стороны, поддержка 51 материнской платы была удалена, устранение которых в основном связано с окончанием поддержки на устаревшие таблички и работы по устранению дубликатов аналогичные варианты платы. Многие платы, которые ранее были представлены отдельными моделями, объединены в наборы (варианты), в которых один модуль охватывает сразу все семейство устройств.
Код для поддержки платформ AMDFAM10, VIA VX900 и FSP1.0 (BROADWELL_DE, FSP_BAYTRAIL, РЭНДЖИЛИ), не отвечающие новым требованиям, исключены из кодовой базы главный. Например, в FSP1.0 невозможно реализовать этап POSTCAR.
С учетом очистки дубликатов, несмотря на то, что формально количество удаленных досок превышает количество добавленных, список совместимого оборудования увеличился. В новой версии также внесено множество изменений, связанных с улучшенная поддержка устройств с OEM-прошивкой, в том числе на основе Coreboot.
Помимо продолжения очистки кодовой базы, объемные примечания к лицензиям в заголовках файлов заменены на короткие идентификаторы SPDX. Имена всех авторов, участвовавших в разработке, собраны в файле AUTHORS. Заголовочные файлы были пересмотрены, чтобы минимизировать код, покрываемый во время сборки каждой сборочной единицы.
Контроллер флеш-накопителя SMMSTORE признан готовым к широкому использованию. Контроллер использует режим SMM (режим управления системой) для записи, чтения и стирания областей во флэш-памяти и может использоваться в компонентах ОС или прошивки для организации постоянного хранения настроек без необходимости реализации контроллера, специфичного для каждой платформы.
Расширены инструменты модульного тестирования, которые интегрируются с новой системой сборки и переносятся на фреймворк Cmocka. В дереве исходных текстов для модульных тестов создан отдельный каталог tests /.
Компоненты, необходимые для систем x86, включают: RELOCATABLE_RAMSTAGE, POSTCAR_STAGE и C_ENVIRONMENT_BOOTBLOCK. RELOCATABLE_RAMSTAGE которые позволяют перемещать ramstage в другую область памяти во время выполнения, которая не перекрывается с операционной системой или драйверами полезной нагрузки (перемещение необходимо, поскольку ramstage кэшируется в CBMEM для более быстрой загрузки при выходе из режима ожидания).
POSTCAR_STAGE используется для переключения с CAR (Cache-As-Ram) на выполнение кода из DRAM. C_ENVIRONMENT_BOOTBLOCK позволяет использовать загрузочный блок, скомпилированный с использованием обычного GCC, вместо специализированного компилятора romcc.
Получить CoreBoot
Наконец, для тех, кто хочет получить эту новую версию CoreBoot они могут сделать это из раздела загрузки, который можно найти на официальном сайте проекта.
Кроме того, в нем они смогут найти документацию и дополнительную информацию о проекте.