Знакомство с Ubuntu Mobile and Embedded

 

Знакомство с Ubuntu Mobile and Embedded

Источник: IBM developerWorks Россия

Уровень сложности: средний

М. Тим Джонс (mtj@mtjones.com), инженер-консультант, Emulex

26.02.2008
  1. Что представляет собой проект Ubuntu Mobile and Embedded?
  2. Описание и цели проекта
  3. Ubuntu
  4. Архитектура UME
  1. Создание новой корневой файловой системы
  2. Изменение корневой файловой системы
  3. Настройка пользователя и сценария
  4. Запуск рабочего стола
  5. Интерфейс пользователя
  1. Основной процесс
  2. Установка утилиты Moblin
  3. Создание нового проекта
  4. Создание целевой системы
  5. Установка функциональных наборов
  6. Создание образа
  7. Разработка приложений на UME
  1. GNOME Mobile
  2. OpenEmbedded
  3. OpenMoko
  4. Платформа Maemo
  5. Проект Embedded Debian (Emdebian)
  6. Мобильная платформа с открытым исходным кодом Google (Android)

Ubuntu - великолепный дистрибутив операционной системы GNU/Linux® для серверов и рабочих станций, но знаете ли вы, что он также идеален для карманных и мобильных устройств? В последнюю версию Ubuntu, Gutsy Gibbon, включена поддержка встраиваемых и мобильных систем в рамках проекта Ubuntu Mobile and Embedded (UME). Познакомьтесь с проектом UME и узнайте, как начать работу с ним.

Предисловие

Это руководство познакомит вас с проектом Ubuntu Mobile and Embedded (UME), его архитектурой и работой с ним. Из этого руководства вы научитесь запускать среду UME на обычной настольной системе под Linux. В руководстве используется Ubuntu версии 7.10 (Gutsy Gibbon), но должен подойти любой из новых дистрибутивов.

Об этом руководстве

Из этого руководства вы узнаете о системе Ubuntu и её среде для встраиваемых устройств. Мы рассматриваем и демонстрируем все аспекты различных инструментов и самой среды, чтобы помочь вам начать работу над собственными проектами для встраиваемых систем.

Цели

Основная цель этого руководства - помочь вам быстрее вникнуть в работу с инструментами и средой Ubuntu для встраиваемых систем. Кроме того, вы узнаете о нескольких инструментах и новых подходах к конфигурированию ядра Linux и формированию среды. Вы также узнаете о ряде других проектов, цели которых схожи с проектом UME.

Необходимые условия

В этом руководстве предполагается, что вы знакомы с разработкой под Linux и средой пространства пользователя Linux. Врезки по ходу повествования помогут вам восполнить пробелы.

Требования к системе

Это руководство разрабатывалось как практическое. Для запуска примеров, приведенных в этом руководстве, вам понадобится Ubuntu версии 7.10.. Следуя приведенным в руководстве инструкциям, вы сможете использовать среду UME и создавать приложения для мобильных и карманных устройств. Если вы планируете установить и запустить UME на рабочей станции, вам потребуется по меньшей мере 4 ГБ свободного дискового пространства.

 

В начало

Проект UME

Давайте начнём с краткого знакомства с UME, его целями, основными компонентами и интерфейсом пользователя.

Что представляет собой проект Ubuntu Mobile and Embedded?

Проект UME нацелен на упрощение создания образов и сред Linux для мобильных и встраиваемых устройств. Хотя Linux на небольших карманных устройствах уже не в новинку, этот проект призван помочь разработчикам в создании сред и ядер, а также включает в себя среду приложений Hildon, которая хорошо подходит для небольших устройств с маленькими экранами (дополнительную информацию можно найти в разделе Ресурсы).

 

Среда проекта также включает несколько важных приложений с открытым исходным кодом, в том числе Web-браузер, клиент электронной почты, клиент обмена мгновенными сообщениями, программу для чтения RSS, а также мультимедийные приложения, такие как проигрыватели MPEG и MP3.

 

Проект UME – важная разработка для Linux на мобильных устройствах. Он предоставляет разработчикам инструменты и среду приложений и позволяет им сконцентрировать свое время и усилия на том, что наиболее важно: пространстве приложений.

В начало

Описание и цели проекта

Основная цель проекта UME состоит в упрощении разработки программного обеспечения для мобильных и карманных платформ (так называемые мобильные интернет-устройства - Mobile Internet Devices или MID), а также других устройств, архитектура которых отлична от PC (например, устройств с процессором ARM). Разработка для встраиваемых устройств обычно осложняется вследствие специализированной природы платформ. Однако в среду UME входят инструменты, разработанные специально для конфигурирования ядра и файловой системы и совместимые с архитектурой нескольких платформ (соответствующих платформе McCaslin).

Что такое MID?

Мобильное интернет-устройство (Mobile Internet Device)это понятие, введенное Intel в 2007 году, которое обозначает небольшие или карманные устройства с возможностью подключения к Интернету. В оригинальном определении предполагалось устройство Intel, но в качестве чипсета может выступать любой маломощный чипсет, например, процессор ARM.

Чтобы проиллюстрировать простоту работы в UME, давайте рассмотрим процесс создания встраиваемого образа (ядра и файловой системы) с нуля. Этот процесс состоит из трех простых шагов:

  1. Создание проекта и цели с помощью утилиты Moblin (и их настройка).
  2. Копирование проекта и цели на USB Flash-память (UFD).
  3. Загрузка UFD со встраиваемой платформы.

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

В начало

Ubuntu

UME основывается главным образом на Ubuntu. Ubuntu, вероятно один из самых популярных—если не самый популярный — из существующих на сегодняшний день дистрибутивов GNU/Linux. Ubuntu произошёл из проекта Debian, однако в нем очень большое внимание уделяется удобству использования и простоте установки и администрирования. Впервые Ubuntu появился в 2004 году, а его последняя версия (7.10) отмечает седьмой выход дистрибутива.

 

В Ubuntu есть несколько вариантов дистрибутивов: ориентированный на образование (Edubuntu), включающий бесплатное программное обеспечение (Gobuntu), для рабочих станций (Kubuntu), облегченный дистрибутив (Xubuntu) и дистрибутив для виртуальных устройств (JeOS). Вместе с седьмой версией Ubuntu также отмечает свой выход на арену встраиваемых систем в виде UME.

В начало

Архитектура UME

Архитектуру UME можно рассматривать на трёх различных уровнях (см. рисунок 1). На самом верху находятся приложения, которые наделяют устройство функциональностью (например, Web-браузер и клиент электронной почты). На среднем уровне располагается операционная система Ubuntu, сконфигурированная под определенную архитектуру низкого уровня. И, наконец, в основании лежит платформа, соответствующая стандарту MID.

Рисунок 1. Общий обзор архитектуры UME
Общий обзор архитектуры UME

Сама операционная система конфигурируется специально под мобильные и встраиваемые устройства и включает в себя такие компоненты, как интерфейсы системы глобального позиционирования (GPS) и камеры. На уровне пространства ядра и приложений также происходит управление другими аспектами, например, управление питанием (поскольку устройство будет работать от аккумулятора) и управление температурой (чтобы избежать повреждения элементов в случаях, когда окружающая среда повышает температуру устройства выше его рабочего диапазона). Также поддерживаются политики управления питанием, которые можно менять через приложение настройки, что позволяет пользователям оптимизировать время работы от батарей.

В начало

Первое знакомство с Hildon desktop

В этом разделе вы познакомитесь с установкой и тестированием элементов, необходимых для Hildon desktop.

Создание новой корневой файловой системы

В этом руководстве использовался дистрибутив Ubuntu Gutsy Gibbon версии 7.10 (в соответствии с рекомендациями проекта UME). Это последняя версия дистрибутива Ubuntu, поэтому, если вы этого ещё не сделали, советуем вам обновить свою систему. В качестве альтернативы вы можете установить и запустить любое из множества решений виртуализации (Xen, QEMU, KVM или VMware). Имеются данные о том, что среда работает и на более ранних версиях Ubuntu (Feisty Fawn, версия 7.04).

 

Начнём с создания новой корневой файловой системы, которая будет альтернативной корневой файловой системой для UME, исполняемой в базовой операционной системе Ubuntu. Приведенные ниже инструкции были адаптированы из превосходного Руководства по Ubuntu Mobile (добавлены некоторые отсутствующие элементы). (Ссылку на руководство можно найти в разделе Ресурсы.)

  1. Установите сервер Xephyr.

    Xephyr - это X Server, используемый для обработки вывода UME. Система управления пакетами Ubuntu, Advanced Packaging Tool (APT), облегчает установку (ссылки на Xephyr и APT можно найти в разделе Ресурсы):

    $ sudo apt-get install xserver-xephyr
                            
  2. Создайте директорию, которая будет служить корневой файловой системой для UME.

    Я разместил эту директорию в моей папке home - /home/mtj/chrenv:

    $ mkdir /home/mtj/myroot
    $ export DIR=/home/mtj/myroot
                            
  3. Запустите еще одну установку Debian в эту директорию с помощью утилиты
    debootstrap

    .

    Эта утилита создаст новую базовую систему Debian с нуля (загрузив ее напрямую с зеркала Ubuntu):

    $ sudo debootstrap --arch i386 gutsy ${DIR} \
    	http://archive.ubuntu.com/ubuntu
                            

    Эта команда загрузит в директорию дистрибутив Gutsy Gibbon (версии 7.10),что может занять некоторое время.

  4. Исправьте некоторые переменные окружения используемого командного процессора на новую корневую директорию. Это делается запуском трех приведенных ниже команд:
    $ sudo mount --bind /tmp ${DIR}/tmp
    $ sudo mount -t proc none ${DIR}/proc
    $ sudo mount --bind /sys ${DIR}/sys
                            
  5. После этого измените корневую директорию с помощью команды
    chroot

    .

    Изменение будет действовать для текущего процесса (и всех его дочерних процессов). После выполнения следующей команды корневой файловой системой вместо текущей корневой файловой системы '/' станет /home/mtj/myroot.

    $ sudo chroot ${DIR}
                            

В начало

Изменение корневой файловой системы

Следующим шагом после установки новой корневой файловой системы Ubuntu версии 7.10 будет обновление и добавление новых пакетов. Для этого выполните следующие действия:

  1. Измените файл sources.list в директории /etc/apt вашей новой файловой системы
    chroot

    , добавив следующую строку:

    deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted universe
    						

    Добавление этой строки в файл /etc/apt/sources.list позволяет увидеть пакеты (из общего хранилища), которые обычно не отображаются в системе управления пакетами.

  2. Обновите систему с помощью команды
    apt

    :

    $ sudo apt-get update
                            
  3. Установите пакет ubunto-mobile с помощью команды
    apt-get

    :

    $ sudo apt-get install ubuntu-mobile
                            

Теперь ваша файловая система с

chroot

должна находиться в актуальном состоянии и включать в себя пакет Ubuntu Mobile. Далее нужно добавить сценарий для проверки.

<
В начало