Установка операционной системы Nemo на N900

В конце сентября было объявлено о прекращении работ над проектом MeeGo, и о создании платформы Tizen, в которой основной технологией для создания приложений должен стать HTML5. Часть разработчиков платформы MeeGo не захотили оставить существующие наработки и продолжили развитие MeeGo Community Edition в рамках проекта Mer.

Данный проект нацелен в первую очередь на создание ключевого набора библиотек и системных приложений, оптимизированных для работы на мобильных устройствах и поддерживающих создание приложений с использованием технологий HTML5/QML/JS. Более полную информацию о целях проекта можно найти на официальном Wiki http://wiki.merproject.org/wiki/Main_Page.

Целевой аудиторией для своего проекта разработчики видят производителей мобильных систем, облегчая им создание специализированных дистрибутивов на основе этого ядра. В настоящее время есть несколько проектов, использующих ключевые библиотеки Mer для создания полноценных дистрибутивов для мобильных устройств. Среди них можно выделить следующие:

* Plasma Active. В первую очередь Plasma Active - это проект, направленный на разработку пользовательского окружения для мобильных устройств. Данный проект развивается в рамках проекта KDE, используя Plasma Framework для построения интерактивного пользовательского интерфейса. Сайт проекта: http://community.kde.org/Plasma/Active
* Cordia Hildon-Desktop. В рамках этого проекта производится разработка пользовательского интерфейса, являющегося продолжением пользовательского интерфейса Hildon, использущегося в операционной системе Maemo. Сайт проекта: http://cordiahd.org/
* Nemo. Данный дистрибутив является идейным продолжением MeeGo Community Edition, унаследовав от последнего пользовательский интерфейс. Его вполне можно считать референсной сборкой для дистрибутивов, спользующих ключевые технологии Mer. Сайт проекта: http://wiki.merproject.org/wiki/Nemo

Как вы можете видеть: основное различие между этими проектами заключается в выборе пользовательского интерфейса для запуска приложений. Каждый из них поддерживает все платформы, на которых может быть запущен Mer, а именно: Nokia N900, Nokia N950, нетбуки и планшетные устройства созданные на архитектуре x86.

Данные операционные системы могут быть интересны как обычным пользователям, желающим испробовать новые технологии, так и разработчикам. В настоящее время системы являются совместимыми с операционной системой MeeGo Harmattan, установленной на Nokia N9, поэтому данные платфомы могут явится хорошей платформой для тестирования приложений под данную платформу.

В данной статье я расскажу об установке релиза Nemo от 17.11.2011 на Nokia N900, но думаю, что это руководство будет актуально и для установки более новых версий. Процесс установки Nemo не отличается от процесса установки MeeGo Community Edition, поэтому в тексте статьи я буду ссылаться на официальное руководство по установке данной операционной системы.

Требования для установки


Установить Nemo на N900 можно как во внутреннюю память, так и на внешний flash носитель. Следует отметить, что установка данной операционной системы на основную память повлечёт за собой отказ в последующем гарантийном обслуживании аппарата, поэтому в данном руководстве будет рассказано только об установке на внешний flash носитель. Альтернативные способы установки можно посмотреть на wiki проекта MeeGo (http://wiki.meego.com/ARM/N900/GettingStarted#Alternative_Installations)

Для установки Вам потребуются:
  • N900 с установленной операционной системой Maemo Freemantle 1.3.
  • MicroSD карта на 4 гигабайта или более.
  • Компьютер, способный записать информацию на MicroSD (напрямую или используя SD адаптер).

Установка загрузчика UBoot

Для выбора операционной системы на этапе загрузки между Nemo и Maemo необходимо установить загрузчик UBoot на N900. Для его установки выполните следующие шаги:

Удалите пакет backupmenu, если он установлен. Данное приложение тоже является загрузчиком операционной системы, и оно будет препятствовать корректной загрузки оригинальной операционной системы на устройстве.

Подключите репозиторий extras-devel. Для этого выполните слудующие шаги:
  • Запустите диспетчер приложений.
  • Откройте список каталогов, выбрав пункт меню "Каталоги приложений"
  • Нажмите кнопку "Создать".
  • В появившемся окне заполните поля следующим образом:
    • Имя каталога: "Maemo extras-devel"
    • Web адрес репозитория: http://repository.maemo.org/extras-devel
    • Имя дистрибутива: "fremantle"
    • Компоненты: "free non-free"
  • Нажмите на кнопку "Сохранить". Менеджер автоматически попытается получить информацию из добавленного репозитория. Если операция не удалась, то измените конфигурацию репозитоиря в соответствии с указанными выше параметрами.
Установите пакет uboot-pr13 из секции системных (System) приложений.

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

Если установка приведённым выше способом не удалась, попытайтесь установить загрузчик вручную, для этого воспользуйтесь этим руководством на английском языке:  http://wiki.meego.com/ARM/N900/Install/FlashUboot

Загрузка образа

Данное руководство было проверено на релизе Nemo от 17-11-2011, но может быть использовано для установки других версий тоже. Образ можно скачать, воспользовавшись данной ссылкой. Все релизы Nemo можно найти на данном репозитории:  http://repository.maemo.org/meego/Nemo/. Сборку для N900 нужно искать в поддиректории images/nemo-handset-armv7hl-n900-testing. Стоит иметь ввиду, что в настоящее время это только лишь тестовые сборки, которые могут работать некорректно на устройстве.

Образы других дистрибутивов, основанных на Mer можно найти на соответствующих сайтах дистрибутивов.

Установка образа Nemo под OC GNU/Linux

Для разворачивания образа на подготовленный flash носитель Вы можете воспользоваться либо карт ридером, либо самим телефоном N900. Я рекомендую использовать первый вариант, так как он минимизирует возможные последствия от неправильных действий.

Подключение устройства

Подключите карт ридер с картой памяти MicroSD к вашему компьютеру, либо подключите телефон по USB кабелю в режиме запоминающего устройства. Следующим шагом Вам необходимо определить: какой файл устройства соответствует подключённой карте памяти. Для этого воспользуйтесь командой:

sudo fdisk -l
Результатом выполнения команды будет вывод информации обо всех запоминающих устройствах, подключённых к компьютеру. Пример вывода информации о флеш карте объёмом 16 гигабайт представлен ниже:

Disk /dev/sdj: 16.1 GB, 16064184320 bytes
64 heads, 32 sectors/track, 15320 cylinders, total 31375360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x37c20945

   Device Boot      Start         End      Blocks   Id  System
/dev/sdj1              32    31375359    15687664   83  Linux
Из данного вывода можно определить, что флеш карте соответствует устройство /dev/sdj. На вашей системе имя устройства скорее всего будет отличаться. Обязательно найтиде файл соответствущий именно вашему устройству.

Далее надо удостовериться, что файловая система на данном устройстве не подключена. Для этого выполните команду:

mount
В результате выполнения команды будет выведен список всех подключённых файловых систем на всех устройствах и мест их подключения. Надо удостовериться, что в этом списке нет упоминания имени устройства. Строка, показывающая, что файловая система /dev/sdj1 подключена к каталогу /media/DISK приведена ниже:

/dev/sdj1 on /media/DISK type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,uhelper=udisks)                                   
Если всё-таки ваше запоминающее устройство было автоматически подключено операционной системой, то его необходимо отключить. Для каждого из разделов Micro SD карточки выполните команду:

sudo umount /dev/sdj1
Напоминаю, что /dev/sdj1 - всего лишь пример имени устройства, вам надо использовать имя своего устройства вместо него.

Распаковка образа

Следующим шагом вам необходимо распокавать содержимое скачанного образа на Micro SD карточку.

Вариант №1:

Если у вас достаточно места на жёстком диске, то сначала можно распаковать образ на жёсткий диск, выполнив команду:
bunzip2 nemo-handset-n900-mmcblk0p.raw.bz2
Следующим шагом скопируйте распакованный файл на карточку:
sudo dd bs=4096 if=nemo-handset-n900-mmcblk0p.raw of=/dev/sdj
Обращаю внимание ещё раз, что /dev/sdj являетс всего-лишь примером, замените его на имя своего запоминающего устройства.

Вариант №2:

Если у Вас достаточно оперативной памяти, то можете распаковать содержимое прямо на запоминающее устройство, выполнив команду:
bzcat nemo-handset--n900-mmcblk0p.raw.bz2 | sudo dd bs=4096 of=/dev/sdj
К сожалению комадна dd не выводит никакой информации, а разворачивание образа на флеш носитель занимает достаточно много времени. К примеру, размер дистрибутива Nemo составляет 4 Гб, и может потребоваться порядка десяти минут для копирования образа на Micro SD карту.

По окончании операции dd должен выдать примерно следующее сообщение:
328356+0 records in
328356+0 records out
1344946176 bytes (1.3 GB) copied, 105.625 s, 12.7 MB/s

Запуск Nemo

После распаковки образа, установите флеш карту обратно в Nokia N900 и закройте заднюю крышку. Если задняя крышка не будет закрыта, то во время загрузки устройство не распознает установшенную Micro SD карту и загрузка с неё будет невозможна.

Запустите устройство. По умолчанию загрузчик должен начать загрузку с карты памяти и загрузит установленную операционную систему. Если вы хотите загрузить оригинальную операционную систему, то прервите отсчёт, нажав на любую клавишу и введите следующую команду:
 run noloboot

Проблемы

Если вы стлокнулись с какими-либо проблемами, то можете обратиться к официальной группе разработчиков Nemo одним из следующих способов:
  • IRC канал #nemomobile в сети freenode (#mer для ключевых пакетов Mer)
  • Задать вопрос в список рассылки: meego-handset@meego.com
  • Поучаствовать в еженедельной встрече разработчиков по вторникам в 11:00 UTC, 14:00 EEST на канале #meego-meeting
Если вы заметили неточности в приведённом тексте статьи или у вас есть дополнения, пожалуйста, приводите их в комментариях к статье.

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.