International conference of developers
and users of free / open source software

Neo Freerunner, Gentoo, Openmoko

Максим Мельников, Gentoo Openmoko Team ( http://gentoo.mindzoo.de/ ), maxposedon@gmail.com
Павел Ферцер, fercerpav@gmail.com

LVEE 2009

Openmoko 1 – понятие, имеющее 3 значения (компания, железо, софт), в данный момент является флагманом свободных разработок в области использования GNU/Linux на мобильных устройствах. Открытое железо, POSIX-совместимое окружение (Linux, GNU userspace, glibc и X11), и оно еще и звонит!

Рис. 1
!http://lvee.org/uploads/image_upload/file/63/LVEE-2009-neo-fig1.png!
Рис. 1. Openmoko

Neo Freerunner ( Openmoko Hardware )

Платформа имеет следующие технические характеристики:
1. сенсорный экран 2.84", разрешением 480 × 640 пикселей (285 DPI);
2. 500 МГц процессор ( Samsung 2442 SoC );
3. 128 Мб ОЗУ, 256 Мб NAND ПЗУ (+2 Мб NOR), поддержка sdhc microsd (до 32 Гб);
5. GPS, Bluetooth, 802.11 b/g WiFi;
6. два 3D-акселерометра;
7. GSM/GPRS (без EDGE;)
8. mini USB, с поддержкой host режима (с возможностью подачи до 500 мА на подключенное оборудование).

Openmoko – это в первую очередь открытая аппаратная платформа: все CAD-файлы выложены под открытыми лицензиями 2, доступна принципиальная схема и схема расположения компонентов (в т.ч. для средств отладки); в процессе разработки было приложено огромное количество усилий, чтобы обеспечить возможность написания свободных драйверов (а также безпрепятственный доступ к документации) для примененных компонентов; также компания Openmoko активно общается с сообществом на предмет возможных вариантов развития платформы в проекте gta02-core 3. Примером проекта, базирующегося на этой платформе, является Dash Express 4 – персональная навигационная система, отличительной особенностью которой является использование gprs для общения с сервером, что позволяет в реальном времени следить за информацией на дорогах.

Такие аппаратные средства предоставляют пользователю весьма интересные возможности “поиграться” с различным оборудованием. Варианты использования Neo Freerunner фактически ограниченны только фантазией пользователя, многие воспринимают его как миниатюрный компьютер с GSM-чипом. Акселерометры, WiFi, GPS и Bluetooth на такой открытой платформе приобретают совершенно новый функционал благодаря совмещению их возможностей в любых, даже самых неожиданных, комбинациях.

Openmoko (software)

Открытое аппаратное обеспечение, конечно, спровоцировало большой интерес среди сообщества Free Software, в первую очередь со стороны программистов, студентов и сотрудников вузов, а также продвинутых пользователей, которые увидели в Freerunner не телефон, а удобную и доступную платформу для разработки.

На данный момент на Neo Freerunner могут работать различные дистрибутивы GNU/Linux (OpenEmbedded, Debian, Gentoo, …), Android (в том числе cupcake), QtExtended (Qtopia) а также NetBSD; ведутся работы по портированию других платформ.

Основными проектами, направленными на развитие телефонной функциональности, сейчас являются Paroli 5 и SHR 6. Их работа базируется на FSO 7 – проекте разработки API и референсой реализации фреймворка для мобильных устройств.

Примером интересного проекта также является Remoko 8, программа для управления компьютером через Bluetooth, имеющая тесную интеграцию с медиа-плеерами, программами показа презентаций и т.д. С ее помощью Neo становится своеобразным пультом дистанционного управления.


Рис. 2. Архитектура freesmartphone.org

FSO/SHR/Paroli (Framework stack)

FSO – это открытая инициатива, целью которой является разработка “телефонного” фреймворка для смартфонов на базе GNU/Linux. Freesmartphone.org работает как сервис, что позволяет разработчикам приложений концентрироваться на пользовательском интерфейс, а не на специфике устройства. Фактически – это проект по разработке спецификаций, аналогичных проекту freedesktop.org .

С одной стороны, на базе FSO разрабатываются 2 различных высокоуровневых набора приложений по управлению телефоном – SHR и Paroli, которые предоставляют пользователю набор базовых телефонных возможностей. С другой стороны, FSO реализует низкоуровневый уровень общения с модемом GSM (а с недавних пор и CDMA), GPS, WiFi и другими компонентами мобильного устройства. Фактически для добавления нового устройства в список поддерживаемых достаточно реализовать несколько классов на python или vala.

Gentoo Openmoko

Gentoo Openmoko 9 – это проект по портированию хорошо известного дистрибутива Gentoo на openmoko-телефоны. Главным преимуществом Gentoo являются непревзойденная гибкость в настройках и возможности по оптимизации. Будучи гибким мета-дистрибутивом, базирующимся прямо на исходных кодах, Gentoo позволяет интенсивно тестировать openmoko-ПО в различных условиях и при различных настройках. Gentoo не фокусируется ни на одном программном стеке, предпочитая предоставлять пользователям широкий выбор. Также в цели проекта вписывается доработка любого софта, который может быть интересен на телефонах, для поддержки кросс-компиляции.


Рис. 3. Gentoo Openmoko

ссылки

1. Openmoko – Open. Mobile. Free. http://openmoko.com, http://openmoko.org
2. Openmoko CAD files. http://openmoko.com/download-cad.html
3. gta02-core is a community project. http://wiki.openmoko.org/wiki/Gta02-core
4. Dash: The Only Internet Connected Automotive GPS. http://www.dash.net/
5. Project Paroli. http://www.paroli-project.org/
6. SHR distribution. http://shr-project.org/trac
7. A freesmartfone.org platform. http://freesmartphone.org
8. OpenMoko Remote Controller. http://code.google.com/p/remoko
9. Gentoo Openmoko overlay. http://gentoo.mindzoo.de/