Прошивка nokia n900 на ubuntu touch. Nokia N900. Продолжаем разбираться или «Hack your Nokia N900

Faq 19.03.2019
Faq

Там очень много букв, так что опишу тут не очень подробно, но достаточно, чтоб можно было менять на свое усмотрение.
Итак, если открыть этот файл, то он большой, чтоб его перепечатывать. Расскажу об основных частях.
За основу любой раскладки взята английская - базовая, вот так выглядит эта секция:

  1. xkb_symbols "english_base" {
  2. // 1. row
  3. key { [ q, Q, 1, 1 ] };
  4. key { [ w, W, 2, 2 ] };
  5. key { [ e, E, 3, 3 ] };
  6. key { [ r, R, 4, 4 ] };
  7. key { [ t, T, 5, 5 ] };
  8. key { [ y, Y, 6, 6 ] };
  9. key { [ u, U, 7, 7 ] };
  10. key { [ i, I, 8, 8 ] };
  11. key { [ o, O, 9, 9 ] };
  12. key { [ p, P, 0, 0 ] };
  13. key { [ comma, semicolon, equal, equal ] };
  14. // 2. row
  15. key { [ a, A, asterisk, asterisk ] };
  16. key { [ s, S, plus, plus ] };
  17. key { [ d, D, numbersign, numbersign ] };
  18. key { [ f, F, minus, minus ] };
  19. key { [ g, G, underscore, underscore ] };
  20. key { [ h, H, parenleft, parenleft ] };
  21. key { [ j, J, parenright, parenright ] };
  22. key { [ k, K, ampersand, ampersand ] };
  23. key { [ l, L, exclam, exclam ] };
  24. key { [ period, colon, question, question ] };
  25. // 3. row
  26. key { [ z, Z, sterling, sterling ] };
  27. key { [ x, X, dollar, dollar ] };
  28. key { [ c, C, EuroSign, EuroSign ] };
  29. key { [ v, V, slash, slash ] };
  30. key { [ b, B, backslash, backslash ] };
  31. key { [ n, N, quotedbl, quotedbl ] };
  32. key { [ m, M, apostrophe, apostrophe ] };
  33. key { [ space, space, at, at ] };

Тут используется 4 уровня. Каждая запись - это символ, комментариями они отделены на ряды на клавиатуре. В данной раскладке используется 4 уровня (4 разных значения можно получить с помощью одной кнопки). Итак как переключаются эти уровни:
Shift(на клавиатуре стрелка вверх) - увеличивает на один уровень в любом случае. Нужно либо держать, либо нажать один раз и любая следующая клавиша увеличит значение при нажатии на уровень, либо два раза нажать - получится Caps Lock режим, то есть все последующие нажатия кнопок будут увеличены на один уровень.
Fn(синяя стрелка на клавиатуре) - увеличивает на два уровня вверх. В комбинации с Shift увеличивает на три уровня вверх.

Итак получаем, чтоб получить из таблицы символов нужный символ, согласно таблице, для примера возьмем первую кнопку:

  1. key { [ q, Q, 1, 1 ] };
* This source code was highlighted with Source Code Highlighter .
  • чтоб получить первый уровень, то есть символ «q» - нужно просто нажать кнопку
  • чтоб получить второй уровень, то есть символ «Q» - нужно нажать Shift и кнопку
  • чтоб получить третий уровень, то есть символ «1» - нужно нажать Fn и кнопку
  • чтоб получить четвертый уровень, то есть символ «1» - нужно нажать Shift, Fn и кнопку

«А как-же переключение раскладки?» - спросите Вы. А все просто. Давайте посмотрим на секцию с русской раскладкой:

  1. partial alphanumeric_keys
  2. xkb_symbols "ru" {
  3. include "nokia_vndr/rx-51(english_base)"
  4. include
  5. name = "Russian" ;
  6. // 1. row
  7. key { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
  8. key { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
  9. key { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
  10. key { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
  11. key { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
  12. key { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
  13. key { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
  14. key { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
  15. key { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
  16. key { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
  17. key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  18. // 2. row
  19. key { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
  20. key { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] };
  21. key { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
  22. key { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] };
  23. key { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
  24. key { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
  25. key { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] };
  26. key { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
  27. key { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
  28. key { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
  29. key { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] };
  30. // 3. row
  31. key { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
  32. key { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
  33. key { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] };
  34. key { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
  35. key { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] };
  36. key { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
  37. key { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
  38. key { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
* This source code was highlighted with Source Code Highlighter .

Первое, что бросается в глаза - это количество уровней. В данном случае их 8, а не 4. Все логично. На уровне 1-4 располагается английская раскладка, а на уровнях 5-8 - русская. Об этом так-же говорит вот эта запись:
  1. key.type = "EIGHT_LEVEL_SEMIALPHABETIC" ;
* This source code was highlighted with Source Code Highlighter .

Для повышения или понижения уровня используется комбинация Ctrl+Пробел. Для пользователей она известна как переключение раскладки, что и есть повышения уровня на 4. Когда вы переключили раскладку на русскую (тем самым повысив все дальнейшие нажатия на 4) то клавиши Shift и Fn работают по тому-же принципу:
  • уровень 5 - просто нажатие кнопки
  • уровень 6 - Shift + нажатие
  • уровень 7 - Atl + нажатие
  • уровень 8 - Fn,Shify + нажатие
Но есть одно ограничение, чтоб вы не написали в уровнях 7 и 8, значения все равно будут браться с уровней 3,4. Но лучше в уровнях 7 и 8 все-же записать самому те-же значения что и для 3 и 4, во избежании возможных проблем.
Второе, на что нужно обратить внимание - это вот эта запись:
  1. include "nokia_vndr/rx-51(arrows_2btns)"
* This source code was highlighted with Source Code Highlighter .

Она подключает 2-х кнопочный курсор (что мне не нравиться и плюс у меня на клавишах 4 кнопки курсора).
Давайте рассмотрим секцию с кнопочками:
  1. partial hidden alphanumeric_keys
  2. xkb_symbols "arrows_2btns" {
  3. // rx-51 specific arrows mapping
  4. key { type = "PC_FN_LEVEL2" , symbols = [ Left, Up ] };
  5. key { type = "PC_FN_LEVEL2" , symbols = [ Right, Down ] };
  6. partial hidden alphanumeric_keys
  7. xkb_symbols "arrows_4btns" {
  8. // standard arrows mapping
  9. // normal 2nd level must not be enumerated to allow text selection with Shift key
  10. key { type = "ONE_LEVEL" , symbols = [ Up ] };
  11. key { type = "ONE_LEVEL" , symbols = [ Left ] };
  12. key { type = "ONE_LEVEL" , symbols = [ Down ] };
  13. key { type = "ONE_LEVEL" , symbols = [ Right ] };
* This source code was highlighted with Source Code Highlighter .

Первая секция «arrows_2btns» используется в русской раскладке и еще в ряде других, где на клавиатуре только две клавиши отведены для курсора. Свойство type = «PC_FN_LEVEL2» - как раз и определяет то, что на клавише две функции. Во второй секции «arrows_4btns» 4 клавиши отведены на курсор и на каждой клавише всего по одной функции (как же расточительно:-)), об этом говорит атрибут type = «ONE_LEVEL».
Вот тут можно разогнаться по полной, можно повесить на курсор 6 значений при двойной раскладке, что я и сделал, вот ниже мой вариант:
  1. partial hidden alphanumeric_keys
  2. xkb_symbols "arrows_rule" {
  3. // standard arrows mapping
  4. // normal 2nd level must not be enumerated to allow text selection with Shift key
  5. key { type = "EIGHT_LEVEL_SEMIALPHABETIC" , symbols = [ Up, Up, Cyrillic_e, Cyrillic_E, Up, Up, Cyrillic_e, Cyrillic_E ] };
  6. key { type = "EIGHT_LEVEL_SEMIALPHABETIC" , symbols = [ Left, Left, Cyrillic_be, Cyrillic_BE, Left, Left, Cyrillic_be, Cyrillic_BE ] };
  7. key { type = "EIGHT_LEVEL_SEMIALPHABETIC" , symbols = [ Down, Down, Cyrillic_yu, Cyrillic_YU, Down, Down, Cyrillic_yu, Cyrillic_YU ] };
  8. key { type = "EIGHT_LEVEL_SEMIALPHABETIC" , symbols = [ Right, Right, Cyrillic_hardsign, Cyrillic_HARDSIGN, Right, Right, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
* This source code was highlighted with Source Code Highlighter .

В моем варианте в русской и английской раскладке курсор остается курсором. Fn позволяет печатать русские буквы, которые у меня не влезли в обычные кнопки - Э, Б, Ю, Ъ . Комбинация Fn с Shift печатают заглавные и прописные символы. Из-за вышеуказанных ограничений 3,4 и 7,8 уровней русские буквы будут печататься при любой раскладке, но не велика потеря. Теперь кнопки курсора несут 3-х функциональную нагрузку (стрелка и большая и маленькая буква). Если учитывать, что есть комбинации с Ctrl + стрелка дает Home, End, PgUp, и PgDwn с соответствующей стрелкой, получаем 4 функции вместо 2-х, как в оригинале.

В добавок ко всему, я изменил саму секцию «ru», теперь у меня на «серой» клавиатуре синие кнопки (Fn - комбинации) совпадают с тем, что написано на клавиатуре. Спорными оказались несколько кнопок.
,;=ЧЪ - сильно много функций, все не влазит. Я убрал твердый знак и перенес его на стрелку вправо. Еще один недостаток, запятая, только в английской раскладке, думаю перенести ее вместо знака фунтов стерлингов в русской раскладке.
.:? Ж - ну тут все влезло, только точка опять присутствует только в английской раскладке, можно перенести ее вместо знака доллара или евро.
<курсор влево>БЮ - хочется, чтоб курсор оставался всегда курсором и буквы можно было использовать как заглавные так и прописные. С такими требованиями не влазит это все на одну клавишу. Поэтому перенес на <курсор клавишу вниз>
мой вариант можно сказать у меня с сайта вот по этой ссылке . Там лежит файлик rx-51.
Файл располагается в /usr/share/X11/xkb/symbols/nokia_vndr .
Скопируйте новый вариант файла (мой или свой) в любое место на устройстве и из xterm нужно выполнить такие вот команды:

sudo gainroot
cp /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 /usr/share/X11/xkb/symbols/nokia_vndr/rx-5.bak
cp /home/user/MyDocs/rx-51 /usr/share/X11/xkb/symbols/nokia_vndr/rx-51
setxkbmap ru

Будьте предельно внимательны, если вы положите плохой файл rx-51 и перезагрузите устройство, то оно не сможет загрузиться и придется перепрошивать устройство.

В общем отличный простой способ изменить раскладку по Вашему усмотрению. Например тем, кто работает часто в консоли, было бы полезно добавить «пайп» "|". Ну и так далее.

Чтоб закрыть тему с кнопками, отмечу, что также можно поменять и таблицу дополнительных символов, которая появляется при нажатии на Fn+Ctrl. Но тут уже все не так просто. Сложность в том, что эти символы хранятся в бинарном виде. И для того, чтоб сформировать собственную таблицу, необходимо собрать специальный компилятор этого формата, написать свою конфигурацию, скомпилировать.
Для заинтересовавшихся, вот ссылка на Maemo Wiki .

Освобождаем место на RootFS

Вот эта проблема для меня была сюрпризом. Rootfs - корневая файловая система, где находится ядро и самое необходимое (модули ядра, файлы конфигурации системы) для запуска системы. Располагается Rootf естественно в напаянном NAND Flash, а не на eMMC. Чтоб было понятно, небольшой экскурс по типам памяти.
NOR-flash - тип флэш памяти, который позволяет получить байт с произвольного места (random-access for reading), и большим плюсом является выполнение программ прям из адресного пространства NOR - execute in place (XIP). Недостаток - цена. Обычно используется для хранения настроек и разной мелочи. Энергонезависимая память. Кратко - что-то вроде энергонезависимой RAM. Ну и в последнее время NOR сильно отстает от NAND по объему информации.
NAND - значительно дешевле NOR. Скорость записи в NAND намного быстрее чем в NOR. Но основной недостаток - это то, что NAND блочное устройство и читать с него можно только блоками (в зависимости от микросхемы это может быть 512/2048/4096 байт). SD/MMC карты - это как раз представители NAND.

И для ясности еще один термин - SoC - System on Chip. Переводится как «система в одной микросхеме» или «Система на кристале».
Чтоб не распыляться, вот определение и характеристики термина .

Таким образом в «голом» N900 у нас такие вот такие вот виды памяти:

  • 256 Mb DDR - используется как пространства для выполнения программ, так как мы уже разобрались, что с NAND выполнять программы нельзя. Располагаются внутри SoC.
  • 256 Mb NAND - используется для rootfs, ниже подробней опишу. Располагается в SoC.
  • 32 Гб eMMC - используется для всего остального, напаяна на плату.
  • до 16 Гб microSD Slot - слот для установки дополнительной памяти, официально написано, что поддерживается 16 Гб, но так как появились уже 32Гб экземпляры, то я лично опробовал и могу сказать, что работает. Видимо на момент написания харрактеристик еще и в планах не было выпуска карт объемом больше 16 Гб. Есть вероятность что и карта 64 Гб будет работать, если она выйдет конечно. Но нужно проверять.

Сначала отмечю, что корень и загрузчик с ядром располагаются в 256Mb NAND. Ниже опишу подробней.
32Гб eMMC разбита на 3 раздела:

  • 2 Гб раздел ext3, смонтирован как /home. Тут лежат настройки программ и разная мелочь. Также сюда ведет ссылка /opt (в /home/opt), сюда устанавливаются программы размером большим 500Кб (в старых прошивках, хотя все зависит от разработчику, куда захочет, туда и засунет, и я рекомендую туда именно устанавливать свое ПО).
  • 768 Мб, как swap-раздел.
  • Оставшиеся 27Гб отформатированы как VFAT и смонтированы в /home/user/MyDocs. Сюда программы не устанавливаются, потому-что этот раздел размонтируется, когда вы подключаете устройство к компьютеру, для того, чтоб его моно было подключить как внешний накопитель. Кстати, никто не мешает Вам его конвертировать/переформатировать в ext3 например, но к Windows Вы сможете подключить устройство только с помощью дополнительного ПО (портированного FUSE и ext3fs драйвера в нем, например)

Ну а теперь подробней про rootfs. Весь 256Mb NAND отформатирован как UBIFS. UBIFS - это замена популярному JFFS2. Разница в том, что UBIFS умеет кэшировать и на больших объемах получается хороший прирост производительности. Недостаток, что UBIFS сложнее (он работает поверх UBI, который работает поверх MTD), а JFFS2 работает напрямую с NAND. Ну еще UBIFS появился только в 2007 году и работает с ядром начиная с версии 2.6.27. Именно поэтому практически во всех встраиваемых устройствах используется JFFS2. Но инженеры из Nokia приняли смелое решение использовать UBIFS. Подробней об этой файловой системе можно почитать и .
В NAND располагается загрузчик, ядро и корневая директория - "/" плюс разные системные файлы, необходимы для загрузки. На «голом» устройстве должно быть около 100Мб свободно. Проблема в том, что если вы подключаете много репозиториев, то кэш apt"а раздувается очень сильно. Плюс некоторые библиотеки тоже устанавливаются в rootfs и у меня уже через неделю rootfs переполнился. Это очень печально и приходится предпринимать дополнительные действия по предотвращению этого. При переполнении rootfs система начинает тормозить и обновление каталогов приложений невозможно (некуда сохранять кэш).

В идеале все что можно лучше перенести в VFAT, но это опасно, так как он отмонтируется при подключении к компу. Можно все перетащить в /home, как это сделано для /opt. Именно на этом и основывается мой метод.

Состояние заполненности можно проверить, выполнив команду в терминале:

Самый простой способ все перенести - это создать скрипт с вот таким содержимым:

#!/bin/sh
# Nokia N900 Maemo 5 Script to free up space on rootfs
# ignoring errors when creating dirs that may already exist

# Moving ?? icons to /home/opt
mkdir -p /home/opt/usr/share/icons 2> /dev/null
cp -r /usr/share/icons/* /home/opt/usr/share/icons
rm -r /usr/share/icons
ln -s /home/opt/usr/share/icons /usr/share/icons

# Moving video on start-up to /home/opt
mkdir -p /home/opt/usr/share/hildon-welcome 2> /dev/null
cp -r /usr/share/hildon-welcome/* /home/opt/usr/share/hildon-welcome
rm -r /usr/share/hildon-welcome
ln -s /home/opt/usr/share/hildon-welcome /usr/share/hildon-welcome

# ??
mkdir -p /home/opt/usr/share/pixmaps 2> /dev/null
cp -r /usr/share/pixmaps/* /home/opt/usr/share/pixmaps
rm -r /usr/share/pixmaps
ln -s /home/opt/usr/share/pixmaps /usr/share/pixmaps

# Moving "apt cache" to /home/opt - Valid until Bug 5746 is fixed .
mkdir -p /home/opt/var /cache/apt 2> /dev/null
cp -r /var /cache/apt/* /home/opt/var /cache/apt
rm -r /var /cache/apt
ln -s /home/opt/var /cache/apt /var /cache/apt

# Moving locales Source
mv /usr/share/locale /opt
ln -s /opt/locale /usr/share/locale

* This source code was highlighted with Source Code Highlighter .

Например вы создали файл с именем free_my_rootfs.sh
выполните в консоли:

chmod +x free_my_rootfs.sh
./free_my_rootfs.sh

Этот скрипт переносит иконки, видео «рукопожатие» стартующее при включении, кэш apt"a и локали системы.

Дополнительно можно еще перетащить питон «optify python» (если перевести, то «перетащить python в /opt»):

sudo gainroot
apt-get install pymaemo-optify
apt-get clean

Приложение «Карты» тоже хранятся в rootfs (сами карты кэшируются на самый большой раздел), можно сделать так:

sudo gainroot
mv /usr/share/nokia-maps /home/opt/
ln -s /home/opt/nokia-maps /usr/share/nokia-maps

Можно еще переместить движок MicroB:

sudo gainroot
mv /usr/share/microb-engine /home/opt
ln -s /home/opt/microb-engine /usr/share/microb-engine

Ну и можно переместить учебник по пользованию N900:

sudo gainroot
mv /usr/share/tutorial-applet /home/opt
ln -s /home/opt/tutorial-applet /usr/share/tutorial-applet

Темы тоже живут в rootfs, но переносить их не очень безопасно, можно получить «кирпич» и придется перепрошивать устройство. Просто возьмите за правило держать парочку тем и удалять те, которым в ближайшее время пользоваться не будете.

Ну вот вроде это все должно Вам помочь. Есть другой метод, очень брутальный, но для настоящих гиков. Заключается он в том, что нужно создать еще один раздел (уменьшив 27 Гб VFAT раздел) и засунуть все туда. Подробное описание . Там еще есть умный скрипт, который проверяет перемещены ли уже данные и в конце покажет сколько места он спас на rootfs. Но пользоваться этим методом новичкам не рекомендую.

Ну и главное, в следующей прошивк

Теги:

  • N900
  • Nokia
  • Maemo
  • Maemo5
  • Hack
  • guide
Добавить метки

В этой статье описана последняя прошивка для Maemo 5, а также подробная инструкция по ее установке.

Не так уж и давно увидела свет последняя прошивка 21.2011.38-1 предназначена для операционной системы Maemo 5, которая установлена на смартфоне Nokia N900. Для обновления в первую очередь необходимо наличие EDGE3GWiFi соединения с Интернет, что позволит вам без особых трудностей обновить свое устройство до версии 21.2011.38-1. Самое интересное это то, что сама прошивка весит примерно всего лишь 314 Кб. Это естественно, ведь само обновление затронуло только системы безопасности ОС Maemo 5. Как прошить свой аппарат вы можете узнать у моей статье «Обновление прошивки на Maemo Flasher», которую можно найти, перейдя по ссылке:

Обновление коснулось следующего:

maemosec-certman-applet (0.1.4+0m5)
libmaemosec-certman-applet (0.1.4+0m5)
Maemo 5 (21.2011.38-1)
libmaemosec-certman0 (0.2.0+0m5)
maemosec-certman-common-ca (0.2.0+0m5)
libmaemosec0 (0.2.0+0m5)
maemosec-certman-tools (0.2.0+0m5)

У самом процессе обновления нет ничего сложного, нужно только полностью зарядить ваше устройство, или просто подключить его к зарядному устройству, после этого обязательно создайте резервную копию ваших данных, файлов и папок (контакты, записки, музыка, клипы, фото и т. д.) и смело приступайте к обновлению операционной системы. Перепрошить аппарат можно посредством утилит в ОС Windows XP/7, которые поставляются в комплекте с телефоном на диске, а также по «воздуху», то есть при помощи EDGE3GWiFi соединений. Ниже представлен сам процесс обновления у скриншотах:

Рисунок 1 - Запуск диспетчера обновлений, выбор обновления.

Для того, чтобы установить обновление, запустите диспетчер приложений (тот, который идет по умолчанию в программном обеспечении Nokia N900), нажимаем кнопку «обновить», и если на данный момент для вашего аппарата есть новые прошивки, вы увидите «Рисунок 1». Нажимайте «обновить все», после чего запустится сам процесс обновления.

Рисунок 2 - Сведение об обновлении, общая информация.

Согласно рисункам «2» и «3», перед установкой обновления мы можем узнать некоторую информацию, то есть сведенья о том, что даст нам это обновление (в частности информацию о размерах пакетов, имена пакетов и краткую информацию о них).

Рисунок 3 - список обновляемых пакетов.

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

Рисунок 4 - Обязательное создание резервной копии.

Рис. 5 - Выбор новой резервной копии важных данных.

Перед установкой новой прошивки создайте новую резервную копию. Для этого необходимо всего лишь нажать на кнопку «Новая резервная копия», согласно рисунку 5.

Рисунок 6 - Имя резервной копии.

Для того чтобы не потеряться в обилии резервных копий (я надеюсь вы не станете хранить много таких копий), придумайте копии какое-нибудь уникальное название. Если изменяет фантазия, тогда просто нумеруйте их, как вы можете увидеть на рисунке 6.

Рисунок 7 - Выбор данных для резервирования на сотовый телефон.

Выберите все те данные, которые, по вашему мнению, вам пригодятся в том случае, если произойдет сбой, и что вы потом сможете восстановить из резервной копии, если процесс обновления пойдет не так как следует, согласно рисунку 7.

Рисунок 8 - Процесс резервирования.

Рисунок 8. Тут, в общем, то все понятно. В среднем сам процесс создания копии длится в среднем около 30-ти секунд. Маловероятно, что он затянется более чем на минуту.

Рисунок 9 - Завершение резервного копирования.

Когда процесс создания резервной копии завершится, вы увидите на экране Рисунок 9 (объем копии разный!). После того, как она сохранится на внутреннюю память или на карту памяти, скопируйте ее себе на компьютер. В случае сбоя (что маловероятно) вы без проблем восстановите все ваши данные на устройстве.

Рисунок 10 - Запуск процесса обновления прошивки.

Теперь, когда вы создали резервную копию и перенесли ее на ваш компьютер, мы можем вернуться непосредственно к самой установке обновлений на устройство. Просто нажмите «продолжить», и после этого действия начнется скачивания обновления. Когда скачивание завершится, аппарат перейдет на автономный режим и начнется установка программного обеспечения.

Рисунок 11 - Предупреждение в случае малого заряда батареи.

Стоит напомнить, что начинать обновление аппарата следует только при полном заряде батареи, при подключенном зарядном устройстве, или при подключении к компьютеру как к источнику питания. Иначе вы получите такое же предупреждение, как и на рисунке 11.

Объем пакетов обновления, если сравнивать с предыдущими версиями прошивки, не такой уж и большой. Но если вы делаете обновление через программу flasher, то новая версия прошивки пожжет перевалить за 250 МБ.

Рисунок 13 - Новая версия прошивки в меню Nokia N900

Вот, в принципе и все необходимое для обновления прошивки на N900. На рисунке вы можете увидеть свежеустановленные обновления безопасности и изменения номера прошивки.

Раньше я писала для себя инструкции по работе с Nokia E61 - чтобы по десятому разу не вспоминать, как я добилась того или иного от телефона. Продолжаю эту традицию для Nokia N900: инструкция по перепрошивке, установке софта и легкой настройке аппарата.

Установим софт: # apt-get install gcc # apt-get install g++ # apt-get install make
7. Библиотека OpenCV (Computer Vision, методы машинного зрения).
# apt-get install libcv-dev libcvaux-dev libhighgui-dev Библиотеки устанавливаются в /usr/lib/
Устанавливать документацию нужно сначала на компе: # apt-get install opencv-doc (на N900 доки автоматически удаляются docpurge), а затем скопировать ее на телефон из /usr/share/doc/opencv-doc/
Скачать deb-файлы можно с https://garage.maemo.org/projects/opencv/ - но мне это не понадобилось.

Из-за нестабильного доступа к репозиториям мне пришлось по 3-5 раз давать команду установки каждого пакета в отдельности: # apt-get --fix-missing install libhighgui-dev Те же проблемы были и с установкой QtMobility 1.2.

8. Ставим Qt
# apt-get install libqt4-dev # apt-get remove libqt4-dev Скачаем с https://garage.maemo.org/frs/?group_id=1938&release_id=4213 пакет libqt4-dev-arm_4.7.0~git20100909_armel.deb и установим его: # dpkg -i libqt4-dev-arm_4.7.0~git20100909_armel.deb
Поставим QtMobile 1.0 или QtMobile 1.2: # apt-get install libqtm-dev или # apt-get install libqtm-12-dev соответственно.

Чтобы иметь доступ к документации по Qt, сначала установим доки на "большой" компьютер: # apt-get install qt4-doc-html Документация установится в /usr/share/doc/qt4-doc-html/html/
Скопируем ее на N900, например, в /home/user/MyDocs/.documents/qt-doc/. Запустим на телефоне файл-менеджер, откроем любой файл в этой папке (она откроется в браузере MicroB), перейдем к странице "API Lookup: Class index" и добавим ее в закладки. Теперь, чтобы открыть документацию, достаточно будет запустить MicroB и, отменив доступ к сети, открыть сохраненную вкладку.

Отключаем репозитории Extras-devel и Extras-testing.

9. Виджет для настройки параметров ТВ-выхода:
http://maemo.org/downloads/product/Maemo5/maemo-tvout-control

А следующие пакеты я перестала ставить, но пусть информация останется:

11. Библиотечка для дополненной реальности (из репозитория Extras-devel free armel)
# apt-get install artoolkitplus artoolkitplus-dev Библиотека: /usr/lib/libARToolkitPlus.so
Заголовочные файлы: /usr/include/ARToolKitPlus
Сайт проекта: http://studierstube.icg.tu-graz.ac.at/handheld_ar/artoolkitplus.php
Пример исходника приложения: ros.org/doc/api/artoolkitplus/html/sample_2multi_2main_8cpp_source.html

12. Установка GStreamer для разработчика
# apt-get install libgstreamer0.10-dev
13. Установка BlueZ для разработчика
# apt-get install libbluetooth3 libbluetooth3-dev
14. Архивирование
Чтобы перед перепрошивкой сделать архив рабочего каталога (в моем случае - /home/user/maemo): # tar -zcvf /media/mmc1/maemo.tgz /home/user/maemo Восстановить каталог из архива: # cd /home/user # tar -zxvf /media/mmc1/maemo.tgz
13. Установка dbus-glib для разработчика
# apt-get install libdbus-glib-1-dev Компиляция программы: g++ hi_dbus.cpp -I/usr/include/dbus-1.0/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -ldbus-glib-1
14. Компилирование программы с использованием Cairo
#!/bin/sh g++ main.cpp -I/usr/lib/gtk-2.0/include/ -I/usr/include/atk-1.0/ -I/usr/include/pango-1.0/ -I/usr/lib/glib-2.0/include/ -I/usr/include/gtk-2.0/ -I/usr/include/glib-2.0/ -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo/ -o hi_cairo `pkg-config --cflags --libs gtk+-2.0`



Рекомендуем почитать

Наверх