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

 

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

Источник: <a href=«www.ibm.com/developerworks/ru/edu/l-ubuntu/index.html» mce_href=«www.ibm.com/developerworks/ru/edu/l-ubuntu/index.html» sp_eventwasset=«on»>IBM developerWorks Россия


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


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



26.02.2008


  • <a href="#part1" mce_href="#part1">Предисловие
  1. <a href="#N1016A" mce_href="#N1016A">Об этом руководстве
  • <a href="#N10173" mce_href="#N10173">Цели
  • <a href="#N1017C" mce_href="#N1017C">Необходимые условия

    <a href="#N10185" mce_href="#N10185">Требования к системе





    <a href="#part2" mce_href="#part2">Проект UME


    1. <a href="#N1019D" mce_href="#N1019D">Что представляет собой проект Ubuntu Mobile and Embedded?

    <a href="#N101AF" mce_href="#N101AF">Описание и цели проекта

    <a href="#N101DB" mce_href="#N101DB">Ubuntu

    <a href="#N101ED" mce_href="#N101ED">Архитектура UME




    • <a href="#part3" mce_href="#part3">Первое знакомство с Hildon desktop


    1. <a href="#N10216" mce_href="#N10216">Создание новой корневой файловой системы

    <a href="#N10286" mce_href="#N10286">Изменение корневой файловой системы

    <a href="#N102C5" mce_href="#N102C5">Настройка пользователя и сценария

    <a href="#N102FF" mce_href="#N102FF">Запуск рабочего стола

    <a href="#N10358" mce_href="#N10358">Интерфейс пользователя




    • <a href="#part4" mce_href="#part4">Создание среды разработки для мобильного устройства


    1. <a href="#N1038E" mce_href="#N1038E">Основной процесс

    <a href="#N103B5" mce_href="#N103B5">Установка утилиты Moblin

    <a href="#N103DC" mce_href="#N103DC">Создание нового проекта

    <a href="#N10416" mce_href="#N10416">Создание целевой системы

    <a href="#N10433" mce_href="#N10433">Установка функциональных наборов

    <a href="#N10455" mce_href="#N10455">Создание образа

    <a href="#N10478" mce_href="#N10478">Разработка приложений на UME




    • <a href="#part5" mce_href="#part5">Другие мобильные платформы


    1. <a href="#N10497" mce_href="#N10497">GNOME Mobile

    <a href="#N104B8" mce_href="#N104B8">OpenEmbedded

    <a href="#N104C6" mce_href="#N104C6">OpenMoko

    <a href="#N104D6" mce_href="#N104D6">Платформа Maemo

    <a href="#N104E4" mce_href="#N104E4">Проект Embedded Debian (Emdebian)

    <a href="#N104F2" mce_href="#N104F2">Мобильная платформа с открытым исходным кодом Google (Android)




    • <a href="#part6" mce_href="#part6">Резюме

    <a href="#resources" mce_href="#resources">Ресурсы

    <a href="#author" mce_href="#author">Об авторе


    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 ГБ свободного дискового пространства.


     



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







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

    <a class=«fbox» href="#index" mce_href="#index">В начало

















    Проект UME

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



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

    Проект UME нацелен на упрощение создания образов и сред Linux для мобильных и встраиваемых устройств. Хотя Linux на небольших карманных устройствах уже не в новинку, этот проект призван помочь разработчикам в создании сред и ядер, а также включает в себя среду приложений Hildon, которая хорошо подходит для небольших устройств с маленькими экранами (дополнительную информацию можно найти в разделе <a href="#resources" mce_href="#resources">Ресурсы

    ).

     

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



     

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





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







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

    <a class=«fbox» href="#index" mce_href="#index">В начало



















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

    Основная цель проекта 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 Mobile and Embedded







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

    <a href="#index" mce_href="#index">В начало

















    Ubuntu

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



     

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





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







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

    <a href="#index" mce_href="#index">В начало



















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

    Архитектуру UME можно рассматривать на трёх различных уровнях (см.<a href="#fig1" mce_href="#fig1">

    <a href="#fig1" mce_href="#fig1">рисунок 1). На самом верху находятся приложения, которые наделяют устройство функциональностью (например, Web-браузер и клиент электронной почты). На среднем уровне располагается операционная система Ubuntu, сконфигурированная под определенную архитектуру низкого уровня. И, наконец, в основании лежит платформа, соответствующая стандарту MID.



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

    <img height=«196» mce_src=«images/stories/ubuntu/figure1.gif» src=«images/stories/ubuntu/figure1.gif» width=«342» />


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


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



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

    <a class=«fbox» href="#index" mce_href="#index">В начало



















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

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



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

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



     

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

    .)

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

      Xephyr — это X Server, используемый для обработки вывода UME. Система управления пакетами Ubuntu, Advanced Packaging Tool (APT), облегчает установку (ссылки на Xephyr и APT можно найти в разделе <a href="#resources" mce_href="#resources">Ресурсы

      ):

    2. $ <span class="boldcode">sudo apt-get install xserver-xephyr</span>
                              






    Создайте директорию, которая будет служить корневой файловой системой для UME.

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


    $ <span class="boldcode">mkdir /home/mtj/myroot</span>
    $ <span class="boldcode">export DIR=/home/mtj/myroot</span>
                            











    Запустите еще одну установку Debian в эту директорию с помощью утилиты

    debootstrap

    .

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


    $ <span class="boldcode">sudo debootstrap --arch i386 gutsy ${DIR} \
    	http://archive.ubuntu.com/ubuntu</span>
                            










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





    Исправьте некоторые переменные окружения используемого командного процессора на новую корневую директорию. Это делается запуском трех приведенных ниже команд:

    $ <span class="boldcode">sudo mount --bind /tmp ${DIR}/tmp</span>
    $ <span class="boldcode">sudo mount -t proc none ${DIR}/proc</span>
    $ <span class="boldcode">sudo mount --bind /sys ${DIR}/sys</span>
                            











    После этого измените корневую директорию с помощью команды

    chroot

    .

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


    $ <span class="boldcode">sudo chroot ${DIR}</span>
                            















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







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

    <a class=«fbox» href="#index" mce_href="#index">В начало



















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

    Следующим шагом после установки новой корневой файловой системы 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

      :

      $ <span class="boldcode">sudo apt-get update</span>
                              








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

      :

      $ <span class="boldcode">sudo apt-get install ubuntu-mobile</span>
                              








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

    chroot

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





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







    <

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

    <a class=«fbox» href="#index" mce_href="#index">В начало