Загрузчики - Slim Boootloader

0
Ваша оценка: Нет

Проект 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;
  • Режим запуска произвольных обработчиков для реализации специфичной функциональности.

Сайт разработчика: https://slimbootloader.github.io/
Что почитать?


Разместил: vikos 16 Сентябрь 2018 в 10:30