Анонсирован OpenBricks, фреймворк для создания встраиваемых мини-дистрибутивов

Разработчики минималистичного Live-дистрибутива GeeXboX (занимает 19 Мб), предназначенного для создания медиа-центров, объявили о разработке специализированного фремворка OpenBricks. OpenBricks предоставляет набор инструментов для создания оптимизированных мини-дистрибутивов для определенных мобильных или встраиваемых промышленных устройств, содержащих выбранный пользователем набор компонентов и настроек, нацеленных на выполнение определенных задач.

OpenBricks является полностью открытым проектом и нацелен на обеспечение поддержки как можно более широкого круга различных аппаратных архитектур, среди которых x86 (включая Atom), ARM (включая Cortex-A9), PowerPC и MIPS, а также множество типовых эталонных встраиваемых платформ, таких как OMAP3 и OMAP4 от компании Texas Instruments или Tegra250 от nVidia. В настоящее время рассматривается вопрос о портировании поддержки SoC Intel CE4100 и CE4200, Marvell Dove и Armada, Freescale i.MX5x и Qualcomm SnapDragon. OpenBricks поддерживает оптимизацию кода для многоядерных и многопоточных систем, задействование криптографических акселераторов и DSP-процессоров, использование SIMD-расширений.

Использование OpenBricks позволяет абстрагировать процесс разработки от низкоуровневого взаимодействия с устройством. Фреймворк полагается на стандартные технологии (OpenGL|ES, OpenVG, OpenMAX), протоколы и приложения (Qt, GTK, EFL, SDL), что позволяет стоить на единой базе различные типы прошивок и повторно использовать наработки других проектов. OpenBricks является достаточно гибким решением и подходит как для создания прошивок для мультимедиа телеприставок и планшетных ПК, так и для формирования устройств сетевого хранения данных (NAS) и маршрутизаторов.

  • Ключевые возможности
    • Полная открытость исходных текстов и свободность от выплаты роялти;
    • Оптимизации для многоядерных SMP-систем;
    • Поддержка SMT HyperThreading;
    • Поддержка криптографических аппаратных акселераторов при вычислении хэшей SHA1, MD5, AES;
    • Поддержка сенсорных экранов;
    • Поддержка управления через инфракрасный пульт управления (LIRC);
    • Высокая скорость загрузки за счет параллелизации этапа инициализации.
  • Поддерживаемые тулкиты для создания прикладных программ
    • Qt;
    • GTK+;
    • EFL (Enlightenment Foundation Libraries);
    • SDL (Simple DirectMedia Layer).
  • Поддерживаемые графические расширения
    • Интерфейс нативного фреймбуфера;
    • Акселерированный DirectFB-движок;
    • Акселерированная инфраструктура X11;
    • OpenGL 3.0;
    • Интерфейс EGL;
    • Embedded OpenGL|ES 2.1
    • Embedded OpenVG 1.0
  • Поддерживаемые видео-расширения
    • Аппаратная DSP-акселерация;
    • OpenMAX;
    • VDPAU;
    • VA-API.
  • Поддерживаемые аудио-расширения
    • ALSA
    • PulseAudio
  • Поддерживаемые медиа-плееры
    • libplayer - абстрактный фреймворк для обработки звука и видео;
    • FFmpeg;
    • MPlayer;
    • Xine;
    • GStreamer;
    • VLC;
    • VDR (Video Disk Recorder).
  • Поддерживаемые ключевые форматы и протоколы
    • Видеокодеки: MPEG 1/2/4, H.264, Theora, VC-1, VP8;
    • Аудиокодеки: MP3, Vorbis, AAC, AC-3, DTS;
    • Протоколы: CDDA, DVD, DVB-C/S/T, V4L2, Bluray;
    • Потоковые форматы: RTP, RTSP, ASF, MMS, WebM.
  • Поддержка сетевых функций
    • Gigabit Ethernet;
    • WiFi c WEP и WPA(2);
    • BlueTooth;
    • Samba Client/Server;
    • NFS Client;
    • Plan 9;
    • UPnP / DLNA.
  • Поддерживаемые файловые системы
    • EXT 2/3/4;
    • JBD;
    • ReiserFS;
    • JFS;
    • XFS;
    • GFS2;
    • OCFS2;
    • FUSE;
    • ISO9660 / Joliet / UDF;
    • FAT16 / FAT32 / NTFS.
  • Поддерживаемые инструментарии
    • Поддержка разработки на языках программирования C, C++ и Python;
    • Полноценная поддержка кросс-компиляции и генерации Sysroot;
    • Поддержка внешнего инструментария CodeSourcery для процессоров ARM;
    • Модульное построение и распространение дистрибутива;
    • Поддержка Си-библиотек eglibc, glibc и uClibc
    • Поддержка SIMD-оптимизаций NEON, VFP, AltiVec, MMX и SSE;
    • Использование системы управления пакетами OPKG для поставки программ;
    • Поддержка интеграции дополнительных проприетарных дополнений, таких как драйверы и прошивки.

©  OpenNet