Консорциум Linaro, созданный компаниями ARM, Freescale, IBM, Samsung, ST-Ericsson и Texas Instruments, анонсировал выход релиза программной платформы Linaro 11.06, вобравшей в себя последние наработки по развитию Linux для устройств на базе архитектуры ARM. Для загрузки подготовлено несколько наборов LEB-компонентов (Linaro Evaluation Builds) для построения готовых решений на базе Android 2.3.3 и Ubuntu Linux 11.04. Инструменты кросс-компиляции и создания рабочих образов доступны в виде пакетов для различных версий Ubuntu.
Платформа Linaro не является отдельным дистрибутивом, а представляет собой коллекцию типовых улучшений и дополнений, предназначенных для работы в уже существующих дистрибутивах, таких как Android, LiMo, MeeGo, Ubuntu, Debian и WebOS. Целью Linaro является прямой вклад в развитие существующих открытых проектов, путем реструктуризации и оптимизации их кода с целью повышения эффективности работы на различных ARM SoC. Все создаваемые в Linaro инструменты разработки и основанные на Linux проекты поставляются в исходных текстах под открытыми лицензиями и рекомендуются для интеграции в основные проекты (upstream). Работа консорциума сфокусирована на обеспечении совместимости программных решений с устройствами на базе различных ARM-совместимых систем от разных поставщиков, что позволяет производителям программных решений и Linux-дистрибутивам сэкономить инженерные ресурсы за счет задействования унифицированного низкоуровневого программного обеспечения.
В рамках проекта Linaro подготовлены модифицированные версии набора компиляторов GCC 4.5/4.6, отладчика GDB 7.2, набора утилит Binutils, эмулятора QEMU 0.14, библиотеки строковых функций. Для Linux-ядра 2.6.39 подготовлен специальный набор патчей, значительно расширяющих спектр поддерживаемых ARM-устройств, понижающих потребление энергии и повышающих производительность за счет использования специальных оптимизаций. Работа оптимизированных для архитектуры ARM программных компонентов проверена на различных ARM-совместимых SoC от разных производителей, что гарантирует работоспособность всех базовых программ на различном спектре устройств.
Ключевым улучшением, представленным в новой версии, является обеспечение поддержки пользовательского окружения Unity 3D, развиваемого в рамках проекта Ubuntu, а также композитного менеджера Compiz, тулкита Nux и оптимизированной с использованием набора команд NEON библиотеки libjpeg-turbo. В будущем оптимизацию с задействованием инструкций NEON планируется добавить для тулкита Qt, векторных библиотек Cairo и Skia, кодеков ffmpeg AAC и VP8.
Из других новшеств можно отметить:
- LEB-пакет для на базе платформы Android поставляется с Linux-ядром 2.6.38, собран с использованием GCC 4.6 и укомплектован модифицированным набором утилит. В итоге созданный в рамках Linaro пакет значительно опережает при тестировании производительности оригинальную сборку Android от компании Google;
- Предварительный начальный выпуск пакета с реализацией поддержки для Ubuntu плат ST-Ericsson Snowball, Samsung Origen и Quickstart;
- В состав пакетов с GCC 4.6 и GCC 4.5 включены исправления ошибок и новые оптимизации, сфокусированные на улучшении векторизации;
- Осуществлена синхронизация с кодовой базой QEMU, устранен набор специфичных для платформы ARM ошибок, реализовано несколько улучшений, таких как поддержка платы Gumstix Overo и обеспечение работы USB клавиатуры и мыши на платах BeagleBoard;
- Поставляемое Linux-ядро основано на версии 2.6.39.1, которая дополнена рядом созданных силами Linaro изменений, которые уже интегрированы в upstream и включены в состав тестовых версий ядра 3.0. Среди добавленный улучшений: возможность добавления на этапе сборки дерева устройств к образу zImage и поддержка параллельных асинхронных MMC-запросов;
- Во входящем в состав Linaro загрузчике U-Boot 2011.06-rc3, для плат PandaBoard представлена поддержка USB, сети и TFTP, а также начальная поддержка PXE;
- Начало распространения первого полноценного релиза тестового комплекта LAVA (Linaro's Automated VAlidation);
- Предварительная поддержка задействования акселерации OpenGL ES в QEMU;
- Включение переработанного инструментария powerdebug 0.5-2011.06, который переписан и приведен к виду общего фреймворка, поддерживающего интеграцию с различными компонентами, такими как температурные датчики.