Опубликован релиз проекта CoreBoot 4.17, в рамках которого разрабатывается бесплатная альтернатива проприетарным прошивкам и BIOS.
С момента выпуска версии 4.16 было внесено более 1300 новых коммитов от примерно 150 участников. Из этих людей примерно 15 человек обратились впервые.
Основные новые функции CoreBoot 4.17
В этой новой версии, которая представлена, мы можем найти, что Добавлены функции TIS (Спецификация интерфейса TPM) зависит от поставщика для чтения и записи непосредственно из регистров TPM (Trusted Platform Module): tis_vendor_read() и tis_vendor_write().
Еще одно заметное изменение заключается в том, что поддержка перехвата разыменования указателя null через журналы отладки и, кроме того, реализовано обнаружение устройств i2c для облегчения работы с лаками оснащены тачпадами или сенсорными экранами разных производителей.
Кроме того, Отмечается, что добавлена возможность сохранения данных о времени в формате. подходит для создания диаграмм FlameGraph, которые наглядно демонстрируют, сколько времени тратится на разные этапы релиза.
Добавлена опция в утилиту cbmem добавить время из пользовательского пространства в таблицу "timestamp" cbmem, что позволяет отражать события в cbmem на этапах, выполняемых после CoreBoot.
В встроенная возможность генерировать статические таблицы страниц памяти из ассемблерных файлов, без необходимости вызова сторонних утилит.
С другой стороны, также подчеркивается, что исправлена уязвимость (CVE-2022-29264) проявляется в версиях CoreBoot с 4.13 по 4.16 и это позволило системам с AP (Application Processor) выполнять код на уровне SMM (System Management Mode), который имеет более высокий приоритет (кольцо -2), чем режим гипервизора и нулевое кольцо защиты, и иметь неограниченный доступ ко всей памяти. Проблема вызвана некорректным вызовом обработчика SMI в модуле smm_module_loader.
Из других измененийs, которые выделяются из этой новой версии:
- Разрешена запись отладочной информации в консоль CBMEMC из обработчиков SMI при использовании DEBUG_SMI.
- Изменена система обработчиков инициализации CBMEM, вместо обработчиков *_CBMEM_INIT_HOOK, привязанных к этапам, предлагается два обработчика: CBMEM_CREATION_HOOK (используется на начальном этапе, создающем cbmem) и CBMEM_READY_HOOK (используется на любом этапе, где cbmem уже создан).
- Добавлена поддержка PSB (Platform Secure Boot), активируемая PSP (Platform Security Processor) для проверки целостности BIOS с помощью цифровой подписи.
- Добавлена собственная реализация обработчика отладочных данных, переданного из FSP (FSP Debug Handler).
- Добавлена поддержка 12 материнских плат, 5 из которых используются в устройствах Chrome OS или серверах Google:
Клево L140MU / L141MU / L142MU
Делл Точность T1650
Рабочая станция HP Z220 CMT
Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) и Lite Mk IV (N5030). - Удалена поддержка материнских плат Google Deltan и Deltaur.
- Добавлена новая полезная нагрузка coreDOOM, позволяющая запускать игру DOOM из Coreboot.
- В проекте используется код doomgeneric, портированный на libpayload.
- Для вывода используется линейный фреймбуфер Coreboot, а файлы WAD с игровыми активами загружаются из CBFS.
- Обновлены компоненты полезной нагрузки SeaBIOS 1.16.0 и iPXE 2022.1.
- Добавлен режим SeaGRUB (GRUB2 поверх SeaBIOS), который позволяет GRUB2 использовать обратные вызовы, предоставляемые SeaBIOS, например, для доступа к компьютерам, к которым полезная нагрузка GRUB2 не имеет доступа.
- Добавлена защита от атаки SinkHole, позволяющая выполнять код на уровне SMM (System Administration Mode).
Кроме того, мы можем указать на публикация OSFF (Open-Source Firmware Foundation) в открытом письме Intel, в котором предлагает модульность пакетов поддержки встроенного ПО (FSP, пакет поддержки встроенного ПО) и начать публикацию документации, связанной с инициализацией Intel SoC.
Отсутствие кода FSP очень затрудняет сборку открытых прошивок и затрудняет продвижение проектов Coreboot, U-Boot и LinuxBoot на оборудовании Intel. Ранее аналогичная инициатива была успешной, и Intel открыла исходный код прошивки PSE (Programmable Services Engine), запрошенной сообществом.
В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.
Будьте первым, чтобы комментировать