![]() |
Компания Microsoft представила новый открытый проект Project Mu, в рамках которого развивается каркас для создания UEFI-окружений, осуществляющих инициализацию оборудования и предоставляющих набор сервисов для загрузки операционной системы. Прошивки на базе Project Mu уже используются в таких продуктах Microsoft как Surface и Hyper-V. Проект основан на наработках открытого UEFI-стека TianoCore EDK2, но не является форком, а позиционируется как надстройка (модуль "MU"), собираемая на основе свежих стабильных выпусков TianoCore и возвращающая исправления и специфичные для TianoCore изменения в основной проект. Наработки проекта распространяются под лицензией BSD.
Ключевой особенностью проекта Mu является развитие идеи прошивки как сервиса (FaaS, Firmware as a Service), суть которой в предоставлении механизмов для поддержания UEFI-окружения и прошивок в актуальном состоянии. FaaS позволяет рассматривать прошивки как продукт, требующий постоянного обновления для оперативного доведения до пользователей исправлений ошибок и уязвимостей, а также для добавления новой функциональности. Разработчики проекта Mu попытались решить проблемы, возникающие при разработке UEFI-прошивок, вызванные привлечением к работе над прошивкой нескольких поставщиков и использованием различных проприетартных компонентов, на которые накладываются жёсткие лицензионные ограничения. До сих пор из-за сложности организации взаимодействия между бизнес-партнёрами производители практикуют при создании прошивок модель создания форка типовой кодовой базы с внесением в него специфичных для продукта модификаций. Сопровождение прошивок в подобных условиях слишком усложнено, а стоимость модификации и возникающие при внесении изменений риски позволяют формировать обновления только в исключительных ситуациях. Mu предоставляет набор модулей, сборочных инструментов и репозиториев, ориентированных на повторное использование кода, распределённый совместный процесс разработки с разделением репозиториев и жёсткий контроль качества. Формируемые прошивки могут сочетать общедоступные открытые компоненты с проприетарными модулями, разработка которых ведётся отдельно, а сам модуль присоединяется к итоговому продукту не нарушая лицензионных требований правообладателя. В отличие от TianoCore в Project Mu включены дополнительные возможности для улучшения поддержки продуктов Microsoft, увеличения масштабируемости (в контексте сопровождения прошивок для множества разных продуктов, в разработку которых вовлечено несколько компаний), упрощения сопровождения прошивок и организации планового проведения обновлений. Предлагаемые проектом компоненты включают интерфейс пользователя, экранную клавиатуру, инструменты для безопасного управления настройками UEFI, высокопроизводительный загрузчик и набор примеров меню BIOS. https://www.opennet.ru/opennews/pics...1545307341.png С целью повышения защищённости проектом проведена чистка кодовой базы TianoCore от устаревших компонентов и внесены изменения для снижения возможных векторов атак. Кроме кода проект также включает набор спецификаций по организации процесса разработки прошивок, развиваемых в соответствии с парадигмой FaaS, а также коллекцию тестов и инструментов для анализа и оптимизации качества прошивки. https://www.opennet.ru/opennews/pics...1545307315.png Основные возможности Mu:
|
| Время: 12:34 |