Организация Linux Foundation представила релиз Yocto 1.1, платформы для создания встраиваемых Linux-систем для различных аппаратных архитектур. Yocto сам по себе не является дистрибутивом, но предоставляет набор компонентов для создания собственных дистрибутивов для встраиваемых продуктов на базе таких аппаратных архитектур, как ARM, PPC, MIPS, x86 и x86-64. В состав платформы входит инструментарий разработчика, система сборки, набор программных интерфейсов и коллекция мета-пакетов.

Одновременно с анонсом новой версии платформы объявлено о том, что отныне разработка системной библиотеки EGLIBC (Embedded GLIBC) будет вестись в рамках проекта Yocto, под покровительством Linux Foundation. Ранее разработкой EGLIBC управляла компания Mentor Graphics, развивающая проект при участии Freescale, MIPS Technologies, MontaVista Software и Wind River. Библиотека EGLIBC дополняет оригинальную кодовую базу Glibc, поэтому полностью совместима с Glibc как на бинарном уровне, так и на уровне исходных текстов. Проект EGLIBC развивается с целью использования на встраиваемых системах и отличается значительно более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования.

Проект Yocto развивается при участии многих известных компаний, специализирующихся на создании продуктов на основе Linux. Свой вклад в разработку внесли такие компании, как Texas Instruments, FreeScale, Intel, Mentor Graphics, Wind River, MontaVista, Dell и OpenEmbedded eV. Yocto был основан в конце октября 2010 года в результате объединения усилий международного сообщества инженеров Consumer Electronics Linux Forum (CELF) и организации Linux Foundation. Позднее, участники проектов Yocto и OpenEmbedded договорились о создании единой технологической платформы для обеспечения сборки встраиваемых Linux-систем, переходе к работе над общим ядром системы сборки и использованию единых Linux-компонентов (мета-данные OpenEmbedded Core). В рамках Yocto подготовлено несколько наборов для поддержки аппаратных платформ (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.

В качестве базового набора компиляторов задействован GCC 4.6.1, поддерживается создание GUI-приложений с использованием библиотек Qt, Clutter и GTK+. В состав проекта также входит пакет Cross-Prelink, позволяющий существенно ускорить загрузку программ, связанных с большим количеством библиотек. Для разработки приложений для создаваемых в Yocto дистрибутивов подготовлено два плагина: для среды разработки Eclipse и для Anjuta IDE. Плагины поддерживают развёртывание проектов на удалённых системах, отладку, анализ кода, кросс-компиляцию и использование эмулятора QEMU. Предусмотрена возможность генерации SDK, оптимизированного для продуктов, построенных на базе Yocto.

Ключевые новшества Yocto 1.1, построенного на основе ядра Linux 3.0:

  • Hob - графический интерфейс для быстрого формирования начинки рабочих образов, соответствующих заданным характеристикам, без необходимости ручной правки файлов конфигурации;
  • Поддержка в Eclipse системы сборки Yocto (System builder), что позволяет использовать Eclipse как универсальный центр разработки, в который входят как средства автоматизации для разработчиков систем, так и инструменты для разработчиков приложений. В рамках единого проекта в Eclipse можно загружать шаблоны систем, редактировать их, инициировать сборку, а также создавать приложения, размещать их на встраиваемых устройствах и производить удалённую отладку;
  • Унификация названий компонентов, связанных с Open Embedded Core, который является единым upstream-проектом, куда вливаются общие наработки проектов Yocto и Open Embedded. Например, для сборки минималистичных образов следует использовать "core-image-minimal", вместо "poky-image-minimal";
  • Расширенный набор инструментов для работы с концепцией слоёв в Yocto. Под "слоями" подразумевается гибкий механизм для добавления расширяющих функциональность изменений на каждой стадии разработки, от начального прототипа до готового устройства. Новый инструментарий позволяет выполнять такие работы, как выявление ошибок (например, когда .bbappend ссылается на несуществующий .bb-файл) или слияние нескольких слоёв в один;
  • Поддержка технологии Multi-lib, позволяющей выбирать разные архитектуры для отдельных пакетов. Например, можно обеспечить возможность выбора как 32-х, так и 64-разрядных сборок, без дублирования пакета для каждой архитектуры;
  • Поддержка опции "X32", позволяющей выполнять 32-разрядные приложения на системах x86-64 (с использованием 64-разрядных регистров выполняются приложения с 32-разрядными указателями и типами данных);
  • Подготовка слоёв для создания систем с быстрой загрузкой или потребляющих минимум ресурсов (менее 8 Мб памяти);
  • Поддержка файловой системы Btrfs;
  • Поддержка 3G-модемов;
  • Новое руководство пользователя и видеоуроки по работе с Hob и инструментарием на базе Eclipse.


Источник: http://www.opennet.ru/opennews/art.shtml?num=32137