После 6 месяцев разработки представлен релиз Yocto 1.2, платформы для создания встраиваемых Linux-систем для различных аппаратных архитектур. Платформа развивается под крылом организации Linux Foundation после объединения усилий международным сообществом инженеров Consumer Electronics Linux Forum (CELF) и при участии многих известных компаний, таких как Texas Instruments, FreeScale, Intel, Mentor Graphics, Wind River, MontaVista, Dell и OpenEmbedded eV. Yocto не является конечным дистрибутивом, а предоставляет набор компонентов для создания собственных дистрибутивов для встраиваемых продуктов на базе различных аппаратных архитектур, в том числе ARM, PPC, MIPS, x86 и x86-64. В рамках проекта развивается несколько наборов для поддержки аппаратных платформ (Board Support Package, BSP), поддерживающих такие системы, как Intel Atom-PC, Freescale MPC8315e-RDB, TI BeagleBoard/OMAP и Ubiquiti RouterStation Pro.
В состав платформы входит инструментарий разработчика, система сборки, набор программных интерфейсов и коллекция мета-пакетов. Yocto предоставляет разработчикам встраиваемых систем полный спектр решений на базе существующих готовых компонентов, позволяя минимизировать затраты на разработку прототипа системы и сфокусировать усилия на процессе разработки и создании специфичных для продукта возможностей. В Yocto задействована система сборки Poky, являющаяся ответвлением от OpenEmbedded Build System и позволяющая объединить в рамках дистрибутива разрозненные приложения. Пакеты распространяются в формате RPM5. Для контроля за инфраструктурой сборки используется ПО Swabber, для выполнения привилегированных операций задействован Pseudo, для организации автоматизированного тестирования используются технологии Shoeleather Lab.
Начиная с марта прошлого года проекты Yocto и OpenEmbedded объединили свои усилия и перешли к использованию общего ядра системы сборки и использованию единых Linux-компонентов (мета-данные OpenEmbedded Core). В качестве базового набора компиляторов задействован GCC 4.6.1, поддерживается создание GUI-приложений с использованием библиотек Qt, Clutter и GTK+. В состав проекта также входит пакет Cross-Prelink, позволяющий существенно ускорить загрузку программ, связанных с большим количеством библиотек. Для разработки приложений для создаваемых в Yocto дистрибутивов подготовлено два плагина: для среды разработки Eclipse и для Anjuta IDE. Плагины поддерживают развёртывание проектов на удалённых системах, отладку, анализ кода, кросс-компиляцию и использование эмулятора QEMU. Предусмотрена возможность генерации SDK, оптимизированного для продуктов, построенных на базе Yocto.
Ключевые новшества Yocto 1.2, построенного на основе ядра Linux 3.2.11:
- В платформу интегрирован новый GUI-интерфейс Hob для управления системой сборки, пересмотрена организация рабочего процесса. Интерфейс сформирован после проведения большой работы по изучению отзывов и пожеланий пользователей, что позволило значительно упростить процесс кастомизации и сборки образов для встраиваемых систем;
- Доступен улучшенный инструментарий для оценки лицензионной совместимости подключаемых дополнений и входящих в состав платформы открытых компонентов. Автоматизировано формирование включаемой в образ декларации об используемых лицензиях и генерация архива с исходными текстами. Обеспечена возможность более гранулированного описания охватываемых открытыми лицензиями компонентов (например, для обработки ситуаций, когда в одном пакете разные части кода поставляются под разными лицензиями);
- Представлен Build Appliance, позволяющий формировать Live-образы для обеспечения процесса сборки, преднастроенные и готовые для запуска под управлением систем виртуализации;
- Увеличена эффективность формирования отчётов об ошибках;
- Ядро Linux обновлено до версии 3.2.11 (в прошлом выпуске использовалось ядро 3.0.x);
- Обновлённый набор скриптов и инструментов для упрощения сборки BSP-наборов (Board Support Package);
- Новые утилиты для обслуживания и анализа истории изменений пакета;
- Поддержка инкрементальной генерации образов, что позволяет в процессе формирования образа пересобирать только изменившиеся c момента создания прошлого образа и подвергшиеся кастомизации компоненты;
- Реализация MSG (Magic Smoke Generator), включающего функции "Magic Smoke" для увеличения срока службы устройств;
- Разные улучшения: Eclipse-плагин Bitbake commander, средства для мониторинга за доступным дисковым пространством, улучшения в multilib.