Доступны платформы для создания встраиваемых Linux-систем Yocto 1.6 и Linaro 14.04 Печать
26.04.14 20:20

Доступны новые выпуски платформ Yocto 1.6 и Linaro 14.04, нацеленных на предоставление средств для создания встраиваемых систем на базе Linux.

Yocto

Организация Linux Foundation представила релиз проекта Yocto 1.6, который предоставляет набор компонентов для создания собственных дистрибутивов для встраиваемых продуктов на базе различных аппаратных архитектур, в том числе ARM, PPC, MIPS, x86 и x86-64. Yocto не является отдельным дистрибутивом, а предоставляет разработчикам встраиваемых систем полный спектр решений на базе существующих готовых компонентов, позволяя минимизировать затраты на разработку прототипа системы и сфокусировать усилия на процессе разработки и создании специфичных для продукта возможностей. Предлагается несколько наборов для поддержки аппаратных платформ (Board Support Package, BSP) для встраиваемых платформ компаний Intel, Freescale, TI, Ubiquiti и д.р.

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

Для сборки задействована система Poky, являющаяся ответвлением от OpenEmbedded Build System и позволяющая объединить в рамках дистрибутива разрозненные приложения. Пакеты распространяются в формате RPM5. Для контроля за инфраструктурой сборки используется ПО Swabber, для выполнения привилегированных операций задействован Pseudo, для организации автоматизированного тестирования используются технологии Shoeleather Lab. Предусмотрена возможность генерации SDK, оптимизированного для продуктов, построенных на базе Yocto.

Основные новшества Yocto 1.6:

  • Обновлены версии базовых компонентов: ядро Linux 3.14 и 3.10 LTSI, eglibc 2.19, gcc 4.8.2;
  • Поддержка сборки Python 3;
  • Интерфейс пользователя для изучения вывода в процессе сборки;
  • Специальный клиент для передачи информации об ошибках в центральный web-интерфейс;
  • Новые эталонные BSP-наборы для BeagleBone (замена для beagleboard) и Edgerouter (замена для routerstationpro);
  • Переход на SHA512 для хэширования паролей и упрощение процесса установки пользовательских паролей;
  • Задействование по возможности жестких ссылок вместо операций копирования для сокращения расходования дискового пространства;
  • Поддержка загрузки на системах UEFI с использованием загрузчика gummiboot;
  • Код для создания образов и SDK переписан с Shell на Python;
  • Поддержка параллельной сборки пакетов rpm, deb и ipk;
  • Улучшена поддержка systemd;
  • Добавлена поддержка ptest для различных пакетов. Включена сборка по умолчанию тестового пакета ptest. Возможность запуска тестов вне процесса сборки. Поддержка piglit для тестирования OpenGL.

Linaro

Консорциум Linaro, созданный компаниями ARM, Freescale, IBM, Samsung, ST-Ericsson и Texas Instruments, представил релиз программной платформы Linaro 14.04, нацеленной на развитие поддержки архитектуры ARM в Linux и различных открытых проектах, а также на оптимизацию их кода с целью повышения эффективности работы на различных ARM SoC. Работа консорциума сфокусирована на обеспечении совместимости программных решений с устройствами на базе различных ARM-совместимых систем от разных поставщиков, что позволяет производителям программных решений и Linux-дистрибутивам сэкономить инженерные ресурсы за счет задействования унифицированного низкоуровневого программного обеспечения.

Платформа Linaro представляет собой коллекцию типовых улучшений и дополнений, предназначенных для работы в уже существующих дистрибутивах, таких как Ubuntu, Android, LiMo, Tizen, Debian и webOS. В качестве эталонных систем, на базе которых формируются готовые к использованию установочные сборки, используются Ubuntu, OpenEmbedded и Android. Дополнительно поставляются обновлённые инструменты кросс-компиляции и создания рабочих образов, которые оформлены в виде пакетов для различных версий Ubuntu. Все создаваемые консорциумом Linaro наработки поставляются в исходных текстах под открытыми лицензиями и рекомендуются для интеграции в основные проекты (upstream).

В рамках проекта Linaro поддерживаются модифицированные версии набора компиляторов 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://www.linaro.org/blog/linaro-14-04-...)
Тип: Программы
Ключевые слова: yocto, linaro, embedded, linux, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.6, Аноним, 02:46, 27/04/2014 [ответить] [смотреть все] +/
embedded systemd сообщение отредактировано модератором ... весь текст скрыт [показать]
 
  2.8, мега аноним, 03:06, 27/04/2014 [^] [ответить] [смотреть все] [показать ветку]  –2 +/
 
  3.11, хм, 09:38, 27/04/2014 [^] [ответить] [смотреть все]  +/
с большой-прибольшой кучей ... весь текст скрыт [показать]
 
3.15, Mihail Zenkov, 14:09, 27/04/2014 [^] [ответить] [смотреть все]  
+2 +/
Неужели написать свой инит скрипт для embeded разработчика непосильная задача ... весь текст скрыт [показать]
 
  4.17, Аноним, 14:56, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/
Действительно, на ер нужны такие ембедщики, которые не могут несколько своих сер... весь текст скрыт [показать]
 
  5.21, мега аноним, 15:51, 27/04/2014 [^] [ответить] [смотреть все]  –2 +/
Как говорится напиши сначала этот простой скрипт Представьте себе, что вам есте... весь текст скрыт [показать]
 
  6.24, Mihail Zenkov, 16:10, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/
Если fsck не может исправить ошибки, то монтирование в RO ничего не даст - устро... весь текст скрыт [показать]
 
6.33, Michael Shigorin, 19:34, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/ > Нужно учесть все зависимости, чтобы запускать параллельно, т.к. чем быстрее устройство
> заработает от момента включения питания тем лучше.

Прям-таки на тех CPU и флэшах переключение контекстов и убивание readahead дало выигрыш?

> В итоге куча мелочей и "простым" скриптом софт реального изделия ты не запустишь.

А расскажите-ка, что это за реальные изделия делаете и как давно.  Бо сомнения берут.

 6.36, Аноним, 21:07, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/
Так понимаю всю эту х ню ты придумал почитав поттеринга Ну раньше у большинст... весь текст скрыт [показать]
 4.20, мега аноним, 15:38, 27/04/2014 [^] [ответить] [смотреть все]  +/ >Неужели написать свой инит скрипт для embeded разработчика непосильная задача?

Нет конечно, и если вы читали мой пост, то узнали что я это и так сделал.
Но теперь этого делать не нужно. Ведь не считаете же вы, что моей задачей является писать скрипты для загрузки? Мне нужно чтобы изделие делало то, что прописано в ТЗ, и если мне часть функциональности не нужно писать самому и отлаживать я только рад.

PS

>У меня лично ноутбук загружается за 8 секунд

А теперь представьте, что у вас в ноутбуке процессор 200Mhz и не жесткий диск или SSD,
а nand работающий на 50Mhz, я думаю загрузка уже будет 8 * 10, что очень много для моего изделия.

 
  5.23, Mihail Zenkov, 15:54, 27/04/2014 [^] [ответить] [смотреть все]  –1 +/
> Но теперь этого делать не нужно. Ведь не считаете же вы, что моей задачей является писать скрипты для загрузки? Мне нужно чтобы изделие делало то, что прописано в ТЗ, и если мне часть функциональности не нужно писать самому и отлаживать я только рад.

Согласен, но каков будет перерасход памяти от systemd и всего что он за собой притянет?

> А теперь представьте, что у вас в ноутбуке процессор 200Mhz и не жесткий диск или SSD, а nand работающий на 50Mhz, я думаю загрузка уже будет 8 * 10, что очень много для моего изделия.

Ноутбуку пять лет, на десктопе (в четыре раза мощнее ноутбука) стоит такая же система и грузится примерно столько же, так как все упирается не в cpu и не в io, а в задержки при инициализации железа.

Да и как сложная система инициализации, выполняющая кучу ненужных проверок, может быть быстрее чем хорошо продуманный скрипт?

 
  6.26, мегааноним, 16:29, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/
Мы все-таки говорим об embedded linux системе Это значит мы имеем несколько мег... весь текст скрыт [показать]
 
  7.29, Mihail Zenkov, 17:56, 27/04/2014 [^] [ответить] [смотреть все]  +/
> В этих условиях расходы на systemd просто смехатворны, сколько-то там килобайт.
> Естественно в openembedded systemd собирается без преферанса и картинок и там на это можно влиять - есть некий аналог USE флагов в Gentoo.

Было бы интересно узнать сколько (вместе с udev) конкретно?

> в embedded на это обычно пофиг, т.к. свое железо знаешь и нивелировать эти задержки легко, основные задержки это как раз IO и CPU.

Так я и говорю, что время загрузки увеличится не в десять раз, а может наоборот даже быстрее будет, так как не надо ждать пока винты и прочее инициализируется.

 
7.34, Michael Shigorin, 19:36, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/ > Мы все-таки говорим об embedded linux системе. Это значит мы имеем несколько
> мегабайт оперативки, потому что в ином случае проще взять какую-нибудь мини
> ОС типа eCos, FreeRTOS и подобные, чем упихивать linux скажем в
> 128K SRAM оперативки и 256K nor flash.
> В этих условиях расходы на systemd просто смехатворны, сколько-то там килобайт.

И как, давно упихивали линукс в 128k или systemd в килобайты?

image  6.27, Константавр, 17:30, 27/04/2014 [^] [ответить] [смотреть все]  +/ Хочу себе такую же серебряную пулю, чтоб за восемь секунд грузилась. Давай раскладывай, что да как. Как говорится: - "рецепт в студию"
 
  7.28, Mihail Zenkov, 17:49, 27/04/2014 [^] [ответить] [смотреть все]  +/
> Хочу себе такую же серебряную пулю, чтоб за восемь секунд грузилась. Давай
> раскладывай, что да как. Как говорится: - "рецепт в студию"

Сильно измененный LFS:
glibc -> eglibc (в будущем хочу попробовать musl)
gnu* -> busybox
udev -> mdev
Управление пакетами - paco + собственная система сборки.
Ядро без модулей (все необходимое в ядре, лишнее отключено), без initrd.

Инициализация до старта иксов идет в последовательно - все эксперименты с параллельным исполнением на этой стадии ничего кроме усложнения не дали. Далее исполняется два скрипта: в одном последовательный запуск x.org и после его старта st/mc/conky/dwm, в другом параллельной запуск настройки сети, звука, энергосбережения.

 
  8.32, Константавр, 19:09, 27/04/2014 [^] [ответить] [смотреть все]  +/
Короче, серебряной пули не получилось :) Ежели слону отрезать ноги...

Я то думал, а тут вон оно как... Дык и на Убунте можно поотрубать всё и оставить голый Busybox, тока зачем оно надо? Я по молодости тоже отрубал всё в Дебьяне и гордился собой, потом прошло. Теперь сижу на кедах, да ещё и с почтой и календарями и пр. в Kontact и жду когда комп загрузится. И делает он это всё ме-е-едленно. Зато всё что надо работает. По любому, главная головная боль это жручие браузеры с флэшами. Тут уж ничто не поможет.

 
  9.47, Аноним, 09:15, 29/04/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
достаточно просто купить ссд ... весь текст скрыт [показать]
 
6.40, Аноним, 17:25, 28/04/2014 [^] [ответить] [смотреть все]  –1 +/
Почему ты думаешь, что systemd сожрет больше памяти, чем куча инстансов баша ... весь текст скрыт [показать]
 
  7.48, Mihail Zenkov, 13:24, 29/04/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
Для скриптов я использую ash из busybox. Суммарный Pss (включая locale-archive, libc-2.19.so, ld-2.19.so) - 132k. В описанной мной системе инициализации нужно два инстанса.
 
5.30, rob pike, 18:46, 27/04/2014 [^] [ответить] [смотреть все]  +3 +/ >Мне нужно чтобы изделие делало то, что прописано в ТЗ, и если мне часть функциональности не нужно писать самому и отлаживать я только рад.

Это замечательно. Особенно если это поддерживать ваш продукт кому-то другому.
Который будет выслушивать маты от заказчика, у которого оно будет падать с невнятными сообщениями об ошибках, а то и совсем без них, и ездить-летать в те далекие места где оно у заказчика работает, чтобы выяснить какой именно затык в systemd на этот раз.

 5.37, Аноним, 23:34, 27/04/2014 [^] [ответить] [смотреть все]  +2 +/
а nand работающий на 50Mhz, я думаю загрузка уже будет 8 10, что очень много д... весь текст скрыт [показать]
 
  6.41, Аноним, 17:57, 28/04/2014 [^] [ответить] [смотреть все]  –1 +/
Проц там может требоваться, разве что, на сериализацию десериализацию ну не на ... весь текст скрыт [показать]
 
3.18, Аноним, 15:01, 27/04/2014 [^] [ответить] [смотреть все]  +1 +/
належность работы - для Embedded systems - куда важнее, скорости загрузки старта... весь текст скрыт [показать]
 
  4.25, мегааноним, 16:14, 27/04/2014 [^] [ответить] [смотреть все]  +/
Чушь Вы назвали несколько параметров - скорости загрузки старта - належность -... весь текст скрыт [показать]
 
  5.43, Michael Shigorin, 20:37, 28/04/2014 [^] [ответить] [смотреть все]  +/
> Чушь.

Поскольку федорофанбои не поняли, пришлось наглую назойливую рекламу стереть -- этой чушью уже все уши прожужжали, а только слаще она от того не стала.

image
 
4.31, 80804кА, 18:51, 27/04/2014 [^] [ответить] [смотреть все]  +/ нисвисти... без зондов - им никто не заплатит :)
 3.45, Anonim, 21:30, 28/04/2014 [^] [ответить] [смотреть все]  +/ > приходилось дорабатывать ручками для нормальной скорости загрузки.
> Теперь по умолчанию с systemd все грузиться примерно за тоже время

Значит ручки из ж..ы растут. busybox init на скриптах (!) которые у вас так тормозят у меня работает ~3 раза быстрей чем то же самое на systemd. Доработанная система (скорость в основном упирается в инит модулей ядра) загружается меньше секунды.

 
1.9, Аноним, 07:29, 27/04/2014 [ответить] [смотреть все]  –1 +/  1.12, Аноним, 10:13, 27/04/2014 [ответить] [смотреть все]  +/
Не понял юмора автора этой мысли В каком месте оно замена ... весь текст скрыт [показать]
 
  2.19, Аноним, 15:02, 27/04/2014 [^] [ответить] [смотреть все] [показать ветку]  –1 +/
 
1.35, Аноним, 20:53, 27/04/2014 [ответить] [смотреть все]  +/
Эх, то же самое бы для rockchip, allwiner, amlogjc d... весь текст скрыт [показать]
 
    3.46, онаним, 21:41, 28/04/2014 [^] [ответить] [смотреть все]  +/
Я не понял, можно подробнее?
 
1.44, Аноним, 21:03, 28/04/2014 [ответить] [смотреть все]  +/
rpm для встройки На 4-х метрах ipk некуда распаковывать Для малых обьемов може... весь текст скрыт [показать]
 
Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=39651