Linux Foundation представил проект LinuxBoot для замены UEFI-прошивок

Организация Linux Foundation представила новый совместный проект LinuxBoot, нацеленный на применение решений на базе ядра Linux вместо проприетарных прошивок.

Наработки проекта распространяются под лицензией GPLv2. Первый вариант прошивки на базе LinuxBoot уже подготовлен для серверов Dell R630 и материнских плат Intel S2600wf. К работе над проектом подключились компании Google, Facebook, Horizon Computing Solutions и Two Sigma.

LinuxBoot может использоваться в качестве прошивки для современных серверов, заменяющей компоненты, выполняемые на стадиях UEFI DXE (Driver Execution Environment), BDS (Boot Device Select), TSL (Transient System Loader) и RT (Run Time). UEFI DXE активируется после фазы начальной инициализации CPU, контроллера памяти и чипсета, и осуществляет загрузку драйверов для имеющихся устройств и их инициализацию (в UEFI данный слой также предоставляет сервисы, которые продолжают работать после загрузки основной ОС и предоставляют постоянно доступный набор вызовов UEFI). На стадиях BDS и TSL выполняется монтирование накопителей, поиск загрузчика и запуск процесса загрузки ОС. Runtime формирует загрузочное окружение, которое в случае LinuxBoot находит в загрузочном разделе ядро Linux и запускает его через kexec, а также предоставляет ряд утилит для настройки. Использование kexec позволяет заменить ядро Linux прошивки на актуальное ядро дистрибутива с предоставлением штатных элементов взаимодействия с оборудованием без оставления сервисов UEFI.

LinuxBoot был выделен из развиваемого компанией Google открытого проекта NERF (Non-Extensible Reduced Firmware), целью которого является предоставление средств для замены или отключения всех прослоек, выполняемых вне основной операционной системы, и блокирование любой связанной с UEFI, SMM и Intel ME фоновой активности. В рамках LinuxBoot отныне будут развиваться все связанные с ядром Linux компоненты, без привязки к конкретной начинке runtime-окружения на базе initramfs: можно использовать runtime от проекта NERF на базе инструментария u-root или runtime HEADS от проекта osresearch.net. Для начальной стадии инициализации CPU и платформы применяются Coreboot, Uboot SPL и UEFI PIE (Pre-Efi Initialization).

Что касается мотивов создания проекта, то LinuxBoot поможет увеличить надёжность компонентов благодаря замене поверхностно протестированных драйверов прошивки на проверенные драйверы Linux. Решения для загрузки на базе Linux уже давно применяются в кластерных системах, потребительской электронике и военных разработках. Открытый характер проекта исключит угрозы безопасности, связанные с использованием закрытых и перенасыщенных функциональностью окружений (например, TCP-стек и web-сервер).

Для подтверждения соответствия поставляемых бинарных файлов с эталонными исходными текстами в LinuxBoot предоставляется поддержка повторяемых сборок, которые дают возможность убедиться, что предлагаемые сборки байт в байт совпадает со сборками, собранными лично из исходных текстов. Кроме повышения безопасности и надёжности, удаление излишнего кода позволяет существенно снизить время загрузки (в проведённых тестах, LinuxBoot сокращает время загрузки сервера до 20 раз). LinuxBoot также предоставит расширенные возможности кастомизации — производитель может выбрать подходящий initrd runtime и адаптировать его под свои нужды.

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



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

Войти с помощью: 
%d такие блоггеры, как: