Microsoft выпустила Open Source систему для создания UEFI

В стремлении стандартизировать прошивки UEFI для компьютеров Microsoft создал универсальную платформу для их разработки. Обязательное условие – прошивки должны распространяться с открытым исходным кодом.

UEFI для всех

Софтверная корпорация Microsoft анонсировала новую инициативу Project Mu в рамках развития программной составляющей современных компьютеров. Project Mu – это, фактически, открытая модульная система, упрощающая разработчикам процесс создания прошивок UEFI для компьютеров и ноутбуков, серверов и устройств интернета вещей, сообщает ресурс MS Power User.

UEFI (Unified Extensible Firmware Interface, унифицированный интерфейс расширяемой прошивки) – это программный интерфейс между ОС компьютера или другого устройства и микропрограммами, управляющими низкоуровневыми функциями устройства. Фактически, это современный аналог интерфейса BIOS, наделенный существенно большим набором возможностей.

В основу Project Mu лег открытый UEFI-стек TianoCore EDK2, а сам проект уже заслужил право на существование, поскольку созданные в нем прошивки UEFI Microsoft активно использует в собственных продуктах серий Hyper-V и Surface, включая настольные моноблочные компьютеры, ноутбуки и планшетные компьютеры.

Прошивка как сервис

Концепция Project Mu основана на идее представления прошивок как сервиса или FaaS (Firmware as a Service), по аналогии с WaaS (Windows as a Service), по которой Microsoft сейчас продвигает свою настольную ОС Windows 10.

ms6002.JPG

Интерфейс Project Mu

Идея FaaS подразумевает предоставление всех необходимых инструментов, используемых для поддержания UEFI-прошивок в актуальном состоянии и их постоянного развития и обновления. Другими словами, Project Mu – это среда разработки UEFI для компьютеров, наделенная, помимо прочего, графическим интерфейсом.

С помощью Project Mu разработчики смогут оперативно вносить коррективы в код своих прошивок и тем самым обеспечить минимальную задержку реакции на отзывы пользователей или требования рынка. Переход к использованию Project Mu, реализованные наработки в котором распространяются по лицензии BSD, избавит девелоперов от бюрократии – так как проект, по сути, open source, им не придется заключать договора и покупать лицензии на используемые в их прошивках разработки сторонних разработчиков.

Что предлагает Project Mu

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

Также в состав Project Mu входят инструменты для безопасного управления настройками прошивки, среда тестирования и анализа прошивок, высокопроизводительный загрузчик и, что немаловажно, внушительная подборка уже готовых примеров меню UEFI и BIOS. На их основе разработчики смогут создать собственный уникальный интерфейс, используя уже проверенные решения.

Особое внимание при создании Project Mu Microsoft уделил вопросу безопасности. Основанный на наработках TianoCore, он лишен устаревших их компонентов и неактуального кода, что позволило уменьшить область возможных атак.

На данный момент Project Mu не позиционируется в качестве готового программного продукта. Однако Microsoft уже разместил исходный код проекта на GitHub, тем самым подтвердив свои намерения по распространению продукта на бесплатной основе. В дополнение к самому коду софтверный гигант предложил и базовый набор инструкций, а также техническую поддержку.

Что умеет Project Mu

Теперь рассмотрим подробнее состав проекта. Разработчики, отдавшие предпочтение Project Mu, получат доступ к масштабируемой системе сборки (написана на Python), системе управления бинарными пакетами на базе менеджера NuGet, инструментарию для аудита, проверки функциональности и оценки производительности прошивки, а также фреймворку Microsoft для проведения unit-тестов. Помимо этого, в их распоряжении будет возможность сборки готовой прошивки компилятором Visual Studio, поддержка кодирования бинарных объектов методом Base64 и функция верификации компонентов по цифровым подписям на базе расширения.

В обозримом будущем Microsoft намерен выпустить несколько апдейтов для Project Mu, включающих себя, в том числе, систему экранных уведомлений, графический интерфейс анализа производительности и дополнительные наборы примеров меню BIOS.

Последние новинки от Microsoft

Декабрь 2018 г. стал для Microsoft месяцем релизов актуальных новинок в области программного обеспечения. Софтверная корпорация представила новое приложение Office for Windows 10, предназначенное в первую очередь для бизнес-сегмента и компаний с большим числом удаленных сотрудников, использующих различные версии Office.

Также для Windows 10 была выпущена «песочница» Windows Sandbox, необходимая для запуска подозрительных программ и открытия документов из неизвестных источников. Обе возможности будут интегрированы в операционную систему в одном из ближайших обновлений, ожидаемых в первом квартале 2019 г.

Напомним также, что фирменный браузер Microsoft Edge тоже подвергся масштабным изменениям – он сменит проприетарный движок EdgeHTML на популярный Chromium. Отказ от собственного решения Microsoft прокомментировал желанием сделать продукт, полностью соответствующий современным веб-стандартам.