Организация Linux Foundation объявила об объединении усилий разработчиков проектов Yocto и OpenEmbedded в направлении создания единой технологической платформы для обеспечения сборки встраиваемых Linux-систем. Оба проекта отныне будут использовать общее ядро системы сборки и единые Linux-компоненты (мета-данные OpenEmbedded Core), что позволит предотвратить фрагментацию, избежать распыления усилий и обеспечить продвижение методологии OpenEmbedded в качестве единого открытого стандарта для средств сборки встраиваемых Linux-систем.
Представители сообществ согласились, что они движутся к одной цели и гораздо выгоднее делать это сообща, чем порознь дублировать работу друг друга. Для координации развития общего для обоих проектов ядра будет сформирован специальный управляющий комитет, в который войдут наиболее активные участники Yocto и OpenEmbedded. Представители индустрии с оптимизмом восприняли заявление об объединении и объявили о поддержке инициативы. Среди компаний, выразивших готовность предоставить свои ресурсы для развития проекта: Dell, Freescale Semiconductor, Intel, LSI, Mentor Graphics, MontaVista, Texas Instruments, Wind River и др.
Проект Yocto был основан в конце октября 2010 года в результате объединения усилий международного сообщества инженеров Consumer Electronics Linux Forum (CELF) и организации Linux Foundation. В рамках проекта Yocto подготовлен инструментарий, шаблоны, мета-данные и методы для формирования собственных Linux-дистрибутивов для встраиваемых продуктов на базе различных аппаратных архитектур (ARM, PPC, MIPS, x86 и x86-64). Более того, Yocto нацелен на предоставление полного спектра решений на базе существующих готовых компонентов, позволяя минимизировать затраты на разработку прототипа системы и сфокусировать усилия на процессе разработки и создании специфичных для продукта возможностей. Например, Yocto позволяет упростить создание эмуляторов и отладчиков, дается возможность сгенерировать типовой SDK.
В качестве системы для объединения разрозненных приложений в дистрибутиве в Yocto задействована система сборки Poky, являющаяся ответвлением от OpenEmbedded Build System. Для контроля за инфраструктурой сборки используется ПО Swabber, для выполнения привилегированных операций задействован Pseudo, для распространения пакетов используется формат RPM5. В качестве базового набора компиляторов задействован GCC 4.5, поддерживается создание GUI-приложений с использованием библиотек Qt, Clutter и GTK+. В состав проекта также входит пакет Cross-Prelink, позволяющий существенно ускорить загрузку программ, связанных с большим количеством библиотек. Для разработки приложений для создаваемых в Yocto дистрибутивов подготовлено два плагина: для среды разработки Eclipse и для Anjuta IDE. Плагины поддерживают развертывание проектов на удаленных системах, отладку, анализ кода, кросс-компиляцию и использование эмулятора QEMU.
Сообщество OpenEmbedded было основано в 2003 году и сфокусировано на создании универсального инструментария для построения встраиваемых Linux-систем и обеспечения кросс-компиляции приложений. Подготовленные в рамках OpenEmbedded компоненты позволяют сформировать полнофункциональный Linux-дистрибутив для встраиваемых систем. Из преимуществ OpenEmbedded отмечается: поддержка большого числа аппаратных архитектур; автоматизация формирования релизов одного продукта для разных архитектур; набор утилит для ускорения процесса перегенерации базовой системы после внесения изменений; простота адаптации под собственные нужды; возможность работы под управлением любых Linux-дистрибутивов; подготовка к кросс-компиляции тысяч пакетов, среди которых GTK+, Qt, X Window system, Mono, Java и т.д.
|