Разработчики из компании Google интегрировали в кодовую базу проекта CoreBoot,
в рамках которого разрабатывается свободная альтернатива проприетарным
прошивкам и BIOS, наработки проекта PIANO, нацеленного на интеграцию в
CoreBoot поддержки загрузки UEFI-стека на основе TianoCore.
TianoCore представляет собой открытую реализацию UEFI, разрабатываемую
компанией Intel, но не содержащую компонентов для инициализации
оборудования. Интеграция кода поддержки оборудования Coreboot с
TianoCore позволяет предоставить открытое UEFI-окружение, готовое для использования на реальном оборудовании.
Сам по себе CoreBoot является лишь минимальной прослойкой для
инициализации материнской платы и периферийных устройств. После
инициализации управление передаётся на один из поддерживаемых обработчиков
(payload), в роли которого в случае UEFI выступает TianoCore. Для
сборки образа CoreBoot c поддержкой TianoCore следует активировать опцию
PAYLOAD_TIANOCORE. Созданный в рамках проекта PIANO обработчик
базируется на использовании библиотеки libpayload и позволяет загрузить
ядро Tiano Core DXE с раздела для UEFI-прошивок, хранимого в CBFS. Из
ранее доступных обработчиков можно отметить различные открытые
реализации BIOS (OpenBIOS, SeaBIOS), запуск прошивки OpenFirmware, прямая загрузка ядра Linux, выполнение загрузчика GRUB2 или FILO, обеспечение загрузки по сети (Etherboot/GPXE/iPXE).
|