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

в 12:40, , рубрики: linux, Nokia N9, sailfishos, метки: ,

image

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

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

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

3) Надо посмотреть factory product code, написанный на трее сим–карты смартфона, и скачать вот здесь необходимую вам чистую заводскую прошивку с 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. На этот раз запускаем флэшер с параметрами flasher –a main.bin –k zImage_2.6.32.54–openmode_l2fix ––flash–only=kernel –f –R

7) Снова запускаем Meego и убеждаемся, что дисклеймер при загрузке не появляется. Также рекомендую сразу установить N9/50 QuickTweak. Это совершенно не обязательно, но твик позволит активировать 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 от 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. Для этих целей есть уже предварительно сконфигурированная версия, которой я и воспользовался. Но если вы планируте запускать еще 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. Существует несколько уже готовых образов, одним из которых я и воспользовался. Если у вас есть желание и время поэкспериментировать, то изучив документацию проекта MerSDK, можно подготовить собственный. Переименовываем скачанный образ в 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 начали сотрудничать с Яндексом.

Автор: jumpda

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js