Intel опубликовал открытую прошивку для инициализации оборудования и загрузки

Компания Intel опубликовала открытый проект Slim Boootloader, развивающий открытую прошивку, которую можно использовать вместо BIOS для инициализации оборудования и организации процесса загрузки ОС.

Slim Boootloader позиционируется как безопасное, легковесное и высоко оптимизированное решение, пригодное в том числе для создания прошивок для ПК, серверов и IoT-устройств. Исходные тексты Slim Boootloader открыты под лицензией BSD.

Slim Bootloader может выполнять работу по первичной инициализации основных аппаратных компонентов после включения системы, с последующей передачей управления загрузчику, отвечающему за запуск основной операционной системы. Проект обеспечивает высокую скорость загрузки при минимальном размере прошивки, что может оказаться полезным OEM-производителям, разработчикам устройств и просто энтузиастам при подготовке решений для загрузки специализированных систем.

В настоящее время Slim Boootloader поддерживает только аппаратные платформы на базе микроархитектуры Apollo Lake, включая плату UP Squared, эталонную систему Intel Leaf Hill и модуль MinnowBoard 3, а также загрузку виртуальных машин через QEMU. Загрузчик может применяться совместно с инструментами и библиотеками от проекта EDK II, в рамках которого ведётся разработка открытых компонентов для создания UEFI-прошивок.

Slim Boootloader изначально развивается как модульная система, в которой компоненты инициализации оборудования и загрузки операционной системы разделены, что позволяет добиться хорошей расширяемости и гибкости в настройке. Slim Boootloader способен загружать различные операционные системы и имеет встроенные средства для обновления прошивки, контроля целостности (Boot Guard) и верификации загружаемых компонентов по цифровой подписи (Root of Trust). Для диагностики и отладки предоставляется встроенный интерфейс командной строки.

При использовании Slim Boootloader процесс загрузки разбивается на стадии:

• Stage 1A — начальная инициализации, до доступности памяти;

• Stage 1B — инициализации основной памяти;

• Stage 2 — инициализация CPU, контроллеров ввода/вывода, устройств и другого оборудования;

• Payload — загрузка, проверка и запуск образов ОС или вызов обработчика обновления прошивки.

Поддерживаются следующие виды обработчиков (payload):

• Встроенный загрузчик, соответствующий спецификации MultiBoot и подходящий для загрузки Linux, гипервизора, Android или исполняемых файлов в формате ELF или PE;

• Встроенный обработчик обновления прошивки, автоматизирующий безопасную установку обновлений;

• Внешний обработчик UEFI, базирующийся на наработках TianoСore EDK II (открытая реализация UEFI) и подходящий для загрузки Windows. Обработчик предоставляет сервисы для Secure boot, SMM и UEFI runtime;

• Режим запуска произвольных обработчиков для реализации специфичной функциональности.

Источник: opennet.ru



Добавить комментарий

Войти с помощью: