Intel выпустила «убийцу» BIOS и UEFI с открытым кодом

Интеграция Системное ПО Техника
мобильная версия
, Текст: Владимир Бахур
Основная идея модульного проекта Slim Bootloader с открытым исходным – сократить до минимума время работы BIOS/UEFI, что особенно критично, например, для включения камеры заднего вида при запуске бортового ПК автомобиля.

Маленький-удаленький

Компания Intel представила проект с открытым кодом под названием Slim Bootloader (Slimbootloader, или SBL), предназначенный для оперативной защищенной инициализации аппаратной платформы с последующей загрузкой операционной системы.

Интерфейс Slim Bootloader, представленный компанией в рамках конференции European Open-Source Firmware Conference в Энлангене, Германия, действует по аналогии с традиционным интерфейсом BIOS, или ее наследником – технологией UEFI (Unified Extensible Firmware Interface), но отличается от них более компактным кодом и более высокой скоростью работы.

В дополнение, Slim Bootloader обладает расширенными возможностями защиты, легко оптимизируется и дополняется, а также, по аналогии с UEFI, может использоваться для загрузки нескольких операционных систем.

Особенности проекта Slim Bootloader

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

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

Slim Bootloader относится к проектам с модульным подходом. Он обеспечивает инициализацию аппаратного оборудования, и затем запускает процессы для загрузки операционной системы.

Полная последовательность вызова функций в коде Slim Bootloader – от вектора сброса до запуска операционной системы, представлен на графике ниже.

График инициализации функций Slim Bootloader

В пакете документации для разработчиков подчеркивается, что основной акцент при разработке Slim Bootloader делался на очень быструю загрузку. Такое требование является обязательным для ряда вычислительных систем – например, для оперативной инициализации камеры заднего вида при запуске бортовой системы автомобиля.

Оптимизация скорости загрузки рассчитана на каждом этапе работы Slim Bootloader, однако в документации отмечается ряд требований для оптимизации времени загрузки – например, тип загрузочного носителя (носитель eMMC – пример быстрого носителя), скорость работы функций безопасности (алгоритмы подписи или хеширования, использование аппаратного ускорения), конфигурация аппаратной платформы (частота процессора, размер памяти и т. д.), алгоритм сжатия и другие «тормозящие» функции (экран заставки, количество параметров загрузки и пр.).

Защита является интегрированной функцией SBL и представлена модулями Boot Guard, Verified Boot, Measured Boot, Firmware Update и Triggering Firmware Update.

Проект Slim Bootloader является реализацией интерфейса UEFI на базе Open Source проекта Coreboot и доступен по лицензии BSD. В настоящее время интерфейс Slim Bootloader с открытым исходным кодом уже выполняет роль UEFI на платформе Intel с кодовым названием Apollo Lake.

Структура платформы Intel Apollo Lake

Линейка процессоров этой платформы включает чипы Intel Pentium J4205, Pentium N4200, Celeron J3455, Celeron J3355, Celeron N3350, Celeron N3450, Atom x7-E3950, Atom x5-E3940 и Atom x5-E3930, с TDP в пределах 6-12 Вт.

В отличие от ближайшего «родственника», платформы Kaby Lake, процессоры которой вставляются в материнские платы с разъемом LGA1151, чипы Apollo Lake поставляются в корпусировке FCBGA (в большинстве случаев FCBGA1296) для непосредственной запайки в системную плату, при этом оптовая цена указывается сразу на распаянный комплект.

Доступные версии платформы Apollo Lake, поддерживаемые Slim Bootloader, включают плату разработчика UP Squared, референсную плату Intel Leaf Hill и вычислительный модуль MinnowBoard.

Плата MinnowBoard Turbot Dual Ethernet

В дополнение, Slim Bootloader также можно использовать совместно с программой QEMU с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ (Syllable, FreeBSD, OpenBSD, FreeDOS, Linux, Windows 9x, Windows 2000, Mac OS X, QNX, Android и других), с поддержкой аппаратной виртуализации.

Перспективы проекта

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

По данным Intel, Slim Bootloader уже настроен на загрузку различных операционных систем, включая Windows, может проверять ПО на работоспособность и целостность, поддерживает проверку модулей по цифровой подписи. В Slim Bootloader имеется режим командной строки для диагностики и настройки, а также режим обновления прошивки.

Тем не менее, доступность SBL только для платформы Apollo Lake вводит определенные ограничения для его использования – главным образом, для рынка встраиваемых вычислительных систем.

По данным немецкого портала Golem.de, представители Intel не раскрыли каких-либо определенных планов по дальнейшему использованию Slim Bootloader, его позиционированию в качестве открытой альтернативы UEFI или переносу на другие аппаратные платформы.

Поскольку Slim Bootloader является проектом с открытым исходным кодом, создание прошивок UEFI на его основе для других аппаратных платформ при наличии заинтересованности – лишь дело времени.