Доступны новые выпуски платформ Yocto 1.6 [2] и Linaro 14.04 [3], нацеленных на предоставление средств для создания встраиваемых систем на базе Linux.
Yocto
Организация Linux Foundation представила [4] релиз проекта Yocto 1.6 [2], который предоставляет набор компонентов для создания собственных дистрибутивов для встраиваемых продуктов на базе различных аппаратных архитектур, в том числе ARM, PPC, MIPS, x86 и x86-64. Yocto не является отдельным дистрибутивом, а предоставляет разработчикам встраиваемых систем полный спектр решений на базе существующих готовых компонентов, позволяя минимизировать затраты на разработку прототипа системы и сфокусировать усилия на процессе разработки и создании специфичных для продукта возможностей. Предлагается несколько наборов для поддержки аппаратных платформ (Board Support Package, BSP) для встраиваемых платформ компаний Intel, Freescale, TI, Ubiquiti и д.р.
В состав платформы входит инструментарий разработчика, система сборки, набор программных интерфейсов и коллекция мета-пакетов [5]. Набор метаданных и компонентов сборки поддерживается совместно с проектом OpenEmbedded. В качестве базового набора компиляторов задействован GCC 4.8, поддерживается создание GUI-приложений с использованием библиотек Qt, Clutter и GTK+. В состав проекта также входит пакет Cross-Prelink [6], позволяющий существенно ускорить загрузку программ, связанных с большим количеством библиотек. Для упрощения разработки приложений для платформ на базе Yocto подготовлено два плагина - для среды разработки Eclipse [7] и для Anjuta IDE [8], которые поддерживают развёртывание проектов на удалённых системах, отладку, анализ кода, кросс-компиляцию и использование эмулятора QEMU.
Для сборки задействована система Poky [9], являющаяся ответвлением от OpenEmbedded Build System и позволяющая объединить в рамках дистрибутива разрозненные приложения. Пакеты распространяются в формате RPM5. Для контроля за инфраструктурой сборки используется ПО Swabber [10], для выполнения привилегированных операций задействован Pseudo [11], для организации автоматизированного тестирования используются технологии Shoeleather Lab. Предусмотрена возможность генерации [12] SDK, оптимизированного для продуктов, построенных на базе Yocto.
Основные новшества [13] Yocto 1.6:
Linaro
Консорциум Linaro, созданный компаниями ARM, Freescale, IBM, Samsung, ST-Ericsson и Texas Instruments, представил [14] релиз программной платформы Linaro 14.04 [15], нацеленной на развитие поддержки архитектуры ARM в Linux и различных открытых проектах, а также на оптимизацию их кода с целью повышения эффективности работы на различных ARM SoC. Работа консорциума сфокусирована на обеспечении совместимости программных решений с устройствами на базе различных ARM-совместимых систем от разных поставщиков, что позволяет производителям программных решений и Linux-дистрибутивам сэкономить инженерные ресурсы за счет задействования унифицированного низкоуровневого программного обеспечения.
Платформа Linaro представляет собой коллекцию типовых улучшений и дополнений, предназначенных для работы в уже существующих дистрибутивах, таких как Ubuntu, Android, LiMo, Tizen, Debian и webOS. В качестве эталонных систем, на базе которых формируются готовые к использованию установочные сборки, используются Ubuntu, OpenEmbedded и Android. Дополнительно поставляются обновлённые инструменты кросс-компиляции и создания рабочих образов, которые оформлены в виде пакетов для различных версий Ubuntu. Все создаваемые консорциумом Linaro наработки поставляются в исходных текстах под открытыми лицензиями и рекомендуются для интеграции в основные проекты (upstream).
В рамках проекта Linaro поддерживаются [16] модифицированные версии набора компиляторов GCC 4.5-4.8, отладчика GDB 7.6.1, набора утилит Binutils, эмулятора QEMU 1.7, графических компонентов, таких как Compiz и Unity, различных библиотек (alsa-lib, libpng, libjpeg-turbo). Для ядра Linux подготовлены специальные наборы патчей, значительно расширяющих спектр поддерживаемых ARM-устройств, понижающих потребление энергии и повышающих производительность за счет использования специальных оптимизаций. Работа программных компонентов, оптимизированных для архитектуры ARM, проверена на различных ARM-совместимых SoC от разных производителей, что гарантирует работоспособность всех базовых программ на различном спектре устройств.
Новая версия примечательна обновлением набора компонентов для построения готовых решений для различных встраиваемых ARM-платформ, таких как Versatile Express (QEMU), Galaxy Nexus, Arndale, PandaBoard, Highbank и Midway. Компоненты на базе платформы Android обновлены до выпуска Android 4.4.2, OpenEmbedded до выпуска 2014.04, а Ubuntu до 14.04 LTS. Для сборок на базе Android добавлена поддержка GCC 4.8, ARMv8, настроек для Nexus 7 и Nexus 10. Набор развиваемых проектом патчей адаптирован для ядра Linux 3.14. В патчи для ядра Linux 3.10.37 включены многочисленные улучшения для ARMv8, в том числе средства для регулирования частоты CPU и управления спящим режимом. Добавлена поддержка многоядерных ARM-систем с архитектурой big.LITTLE.
Ссылки:
[1] http://htfl.ru/cat-news-novosti-po
[2] /out.php?link=http://www.yoctoproject.org/
[3] /out.php?link=http://www.linaro.org/
[4] /out.php?link=https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html
[5] /out.php?link=http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/?h=denzil
[6] /out.php?link=http://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/
[7] /out.php?link=http://yoctoproject.org/projects/eclipse
[8] /out.php?link=http://yoctoproject.org/projects/anjuta
[9] /out.php?link=http://www.pokylinux.org/
[10] /out.php?link=http://git.yoctoproject.org/cgit/cgit.cgi/swabber/
[11] /out.php?link=http://github.com/wrpseudo/pseudo
[12] /out.php?link=http://yoctoproject.org/projects/sdk-generator
[13] /out.php?link=http://downloads.yoctoproject.org/releases/yocto/yocto-1.6/RELEASENOTES
[14] /out.php?link=http://www.linaro.org/blog/linaro-14-04-release-now-available-download/
[15] /out.php?link=https://wiki.linaro.org/Cycles/1404/Release
[16] /out.php?link=https://wiki.linaro.org/Cycles/1404/Release#Getting_Started