- PVSM.RU - https://www.pvsm.ru -

Установка Sailfish OS на Nokia N9

image

Не так давно Jolla начали продажи [1] своего нового смартфона на территории Финляндии. Как известно, официальной поддержки N9/N950 не предвидится, но сообщество с maemo.org уже осуществило портирование и создало wiki–страничку [2] с подробным мануалом. Именно его я и взял за основу при установке. Все делалось из–под Ubuntu 64 bit, но вполне подойдет любой debian–based дистрибутив. Также потребуются немного свободного времени и терпения.

1) Делаем полный бэкап системы, документов, контактов и всего, что кажется необходимым. Отключаем запрос pin–кода на sim–карте и защитный код безопасности на самом телефоне. Убеждаемся, что батарея заряжена хотя бы на 90 %. Отдаем себе отчет, что в случае ошибочных действий или отключения USB–кабеля во время прошивки, можно получить полностью неисправный телефон, который будет проблематично восстановить в домашних условиях.

2) Устанавливаем отсюда [3] флэшер. Есть версия и под Windows, но я не рекомендую ее использовать, т.к. на определенном этапе вы не сможете установить Ubiboot–loader. По крайней мере, желательно иметь под рукой хотя бы виртуальную машину с Linux.

3) Надо посмотреть factory product code, написанный на трее сим–карты смартфона, и скачать вот здесь [4] необходимую вам чистую заводскую прошивку с Meego Harmattan. (В моем случае factory product code – 059J228, а значит версия прошивки RM–696 NDT MEA1 MEA2 BLACK 64GB). В архиве будут два файла вида: DFL61_HARMATTAN_40.2012.21–3_PR_LEGACY_006–OEM1–958_ARM.bin, 528DA068_DFL61_HARMATTAN_40.2012.13–7.MEA_EMMC_MEA.bin. Распаковываем и для удобства переименовываем их в main.bin и emmc.bin соответственно.

4) Запускаем флэшер в режиме определения ID подключенного устройства flasher –i и подключаем выключенный телефон USB–кабелем. Если флэшер считал ID смартфона, значит все в порядке и можно начинать процесс прошивки. Запускаем его командой flasher –F main.bin –F emmc.bin –f В случае возникновения ошибки Error claiming USB interface: Device or resource busy надо добавить строчки blacklist cdc_phonet, blacklist phonet, blacklist cdc_acm в /etc/modprobe.d/modprobe.conf

5) После успешной прошивки запускаем Meego, выставляем региональные настройки, время и дату, включаем режим разработчика. Именно на этом этапе очень советую из–под пользователя запустить в терминале смартфона команду disclaimer–cal remove View–openmode В случае если вы этого не сделаете, при каждом последующем включении телефона вам придется около 10 секунд наблюдать раздражающий дисклеймер, уведомляющий о том, что вы модифицировали системное ПО и лишились гарантии Nokia.

6) Устанавливаем OpenMode kernel [5]. На этот раз запускаем флэшер с параметрами flasher –a main.bin –k zImage_2.6.32.54–openmode_l2fix ––flash–only=kernel –f –R

7) Снова запускаем Meego и убеждаемся, что дисклеймер при загрузке не появляется. Также рекомендую сразу установить N9/50 QuickTweak [6]. Это совершенно не обязательно, но твик позволит активировать ssh root access и установить bash, wget и прочие маленькие удобности. Также после установки OpenMode kernel Meego перестает запоминать пароли учетных записей. Вылечим это, набрав в терминале смартфона:
rm –rf /home/user/.accounts
rm –rf /home/user/.aegis
mkdir –p /root/ssl
cp –Rf /etc/ssl/certs/* /root/ssl
rm –rf /etc/aegisfs.d
sync
/sbin/reboot
А после загрузки:
cp –Rf /root/ssl/* /etc/ssl/certs

8) Устанавливаем MOSLO kernel [7] от nemomobile.org. Разахривируем rpm–пакет и как обычно flasher –k zImage–moslo –n initrd–moslo –l –b Теперь на флэш–памяти смартфона появился новый раздел Alt_OS, который должен смонтироваться в /media/Alt_OS на PC.

9) Устанавливаем Ubiboot. Опция необязательна, но это удобный bootloader с GUI, который позволит при загрузке переключаться между SailfishOS и Meego Harmattan. Для этих целей есть уже предварительно сконфигурированная версия [8], которой я и воспользовался. Но если вы планируте запускать еще FirefoxOS и/или Nitroid, то устанавливайте чистую версию. Скачиваем архив в папку с флэшером и распаковываем tar –xvf ubiboot–02_0.3.5_131213_SFOS.tar Подключаем телефон в режиме Storage Mode и копируем извлеченный ubiboot_035_sailfishos.tar в каталог MyDocs. Теперь переходим в теминал Meego, получаем права root, распаковываем.
devel–su
cd /home/user/MyDocs/
tar –xvf ubiboot_035_sailfishos.tar –C /

Выключаем смартфон, из десктопного терминала снова запускаем флэшер с параметрами sudo flasher –a main.bin –k zImage_2.6.32.54–ubiboot–02_301013 ––flash–only=kernel –f –R Bootloader установлен.

10) Наконец–то приступаем непосредственно к установке Sailfish. Существует несколько уже готовых образов, одним из которых [9] я и воспользовался. Если у вас есть желание и время поэкспериментировать, то изучив документацию проекта MerSDK [10], можно подготовить собственный. Переименовываем скачанный образ в sailfish.tar.bz2, распаковываем его в примонтированный каталог /media/Alt_OS на десктопе. tar ––numeric–owner –xvjf sailfish.tar.bz2 –C /media/Alt_OS/ Этого уже достаточно для запуска SailfishOS, но есть еще пара вещей, которые желательно сделать сразу, это включение root–доступа по ssh nano /media/Alt_OS/etc/ssh/sshd_config расскоментируем PermitRootLogin yes и процедура, позволяющая после загрузки изменить root–пароль, правим файл nano /media/Alt_OS/etc/shadow Там будет строчка вроде root:$1$00Z6Bfjc$vlIKUOMHIavIABL1gNuy6/:16049:0:99999:7::: Приводим к виду root::16049:0:99999:7::: Не забудьте выставить пароль root в терминале SailfishOS после запуска.

В общем–то, установка несколько сложна, да и есть некоторые баги, я к примеру, так и не смог пока запустить камеру и установить карты. Но хотелось бы надеяться, что в ближайшем будущем финский смартфон появится и на отечественном рынке. Тем более, что Jolla начали сотрудничать [11] с Яндексом.

Автор: jumpda

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/51035

Ссылки в тексте:

[1] начали продажи: http://habrahabr.ru/post/204178/

[2] wiki–страничку: http://wiki.maemo.org/Sailfish

[3] отсюда: http://skeiron.org/tablets-dev/maemo-dev-env-downloads/

[4] вот здесь: http://skeiron.org/firmware/N9/40.2012.21.3/

[5] OpenMode kernel: http://www.swagman.org/juice/ubiboot/other/zImage_2.6.32.54-openmode_l2fix

[6] N9/50 QuickTweak: http://talk.maemo.org/showthread.php?t=80600

[7] MOSLO kernel: http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm

[8] предварительно сконфигурированная версия: http://www.swagman.org/juice/ubiboot/ubiboot_for_sailfish/

[9] одним из которых: http://n9.araya.su/images/mic_images/sailfish-1.0.1.10/vgrade/r3/

[10] проекта MerSDK: https://wiki.merproject.org/wiki/Platform_SDK

[11] начали сотрудничать: http://www.gazeta.ru/tech/news/2013/11/13/n_3321529.shtml

[12] Источник: http://habrahabr.ru/post/206518/