Сегодня 25 ноября 2017
18+
Мастерская

Запуск Ubuntu на Android-смартфоне Sony Xperia S (или Записки сумасшедшего)

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия

На самом деле идея запуска какого-нибудь дистрибутива на смартфоне или планшете под управлением Android далеко не нова. Даже на самом первом аппарате с этой ОС, HTC Dream, умельцы заставляли работать Debian. На вопрос «Кому и зачем всё это надо?» наиболее полно ответила Motorola со своим Laptop Dock и оболочкой WebTop, которые превращали смартфон в не самый плохой нетбук. Этакая смесь два в одном — взболтать, но не смешивать. Реализация в «железе» интересная, но по разным причинам массовой она не стала. Любопытное развитие идея получила в стане Canonical, где сейчас занимаются проектом Ubuntu for Android — полноценной ОС, адаптированной для смартфонов. Правда, здесь тоже требуется док-станция, но уже без экрана, батарейки и прочих аксессуаров. То есть более дешёвая.

Энтузиасты тоже не отстают — есть несколько проектов по запуску «больших» ОС на телефонах: классический Debian Kit for Android, универсальный Linux Installer и самый простой LinuxonAndroid, который мы и рассмотрим в этой статье. Работают они на одном и том же принципе — запуске chroot-окружения в Linux-ядре Android. Естественно, смартфон должен быть достаточно мощным — CPU с частотой хотя бы в районе 1 ГГц, как минимум 512 Мбайт RAM и хотя бы пара гигабайт свободного места на SD-карте. Для корректной работы нужны root-права, поддержка ext2/3/4, возможность монтирования loop-устройств, загрузка модулей ядра и так далее. Желательно иметь максимально урезанную прошивку для экономии памяти и ресурсов процессора, а также использовать легковесные оболочки LXDE или XFCE. Полный список совместимых устройств и прошивок/ядер можно найти здесь.

В итоге у нас получится примерно вот такое чудо

Если вашего смартфона в списке нет, то это ещё не значит, что он не подходит. Мы же достаточно подробно рассмотрим процесс установки Ubuntu 12.04 на один из совместимых телефонов — Sony Xperia S с Android 2.3.7 и стоковым ядром, так как на свежей 4-й версии установка может не заработать. Если вы ранее уже лишились гарантии и DRM-ключей в процессе софтовых игрищ с аппаратом, то можете продолжать. В противном случае не рекомендуется выполнять нижеследующие действия. Желательно сделать резервную копию важных данных и настроек. Перед всеми манипуляциями полностью зарядите батарею смартфона и позаботьтесь о том, чтобы свет не «мигнул» во время прошивки.

Наиболее простой и надёжный способ получения root-доступа для Sony Xperia S — это специально подготовленная прошивка, в которой уже есть такая возможность и нет лишнего ПО. Для установки придётся разблокировать загрузчик, благо для этого есть официальные методы. Следуя инструкции, перед разблокировкой необходимо убедиться в том, что она вообще возможна. Наберите на телефонной клавиатуре код *#*#7378423#*#* (слово service) для открытия сервисного меню. Здесь надо перейти к разделу Service info → Configuration → Rooting Status и посмотреть параметр Bootloader unlock allowed. Если напротив него стоит Yes, то записываем IMEI и переходим к следующему этапу. IMEI также можно узнать, набрав *#06#.

Получить ключ разблокировки можно на этой странице. Здесь надо указать IMEI аппарата без последней цифры, имя и адрес e-mail. (Та-дам, IMEI попал в чёрный список Sony!) Выданный ключ надо куда-нибудь записать. Ещё нам понадобятся драйвера для Android и утилита fastboot. И то и другое входит в состав SDK. Можно не ставить весь набор SDK, а просто найти в Сети архивы только с двумя вышеназванными компонентами. В папке с драйверами (например, C:\Program Files\Android\android-sdk\extras\google\usb_driver) придётся заменить файл android_winusb.inf на тот, что содержится в этом архиве, а исходный файл переименовать и оставить там же. Также необходимо скачать последнюю prerooted-прошивку с Gingerbread с этого сайта. (Сейчас это KA_Xperia_S_prerooted_76TW.zip)

Теперь выключим телефон и, зажав клавишу увеличения громкости, подключим его через USB-шнурок к компьютеру. Если на аппарате светодиод стал синим, то телефон перешёл в нужный нам fastboot-режим — кнопку можно отпустить. Кликаем правой кнопкой мыши по значку «Мой компьютер», выбираем в меню пункт «Управление» и переходим в «Диспетчер устройств». Ищем в списке S1Boot Fastboot, дважды кликаем по нему и на соответствующей вкладке жмём «Обновить драйвер». В мастере переходим к ручной установке драйверов. Далее проходимся по пунктам «Выбрать драйвер из списка уже установленных драйверов» → «Установить с диска» → «Обзор…» и выбираем в папке с драйверами файл android_winusb.inf, а затем в списке указываем Android Bootloader Interface и завершаем установку.

Если смартфон при таком подключении очень быстро переходит в режим подзарядки и светодиод меняет цвет с синего на зелёный, то вы вряд ли успеете вручную установить драйвера. В некоторых случаях помогает такой финт: отключаем смартфон от ПК, в меню диспетчера устройств выбираем «Действие» → «Установить старое устройство» и в открывшемся мастере выбираем ручную установку драйвера. Далее, как описано выше, добираемся до папки с драйверами и принудительно инсталлируем Android Bootloader Interface (4.0.0.0). Подключаем телефон в fastboot-режиме, он определится как Android ADB Interface. А вот теперь по накатанному пути обновляем для него драйвера, но снимаем галочку «Только совместимые устройства» и ставим Android Bootloader Interface (7.0.0.1).

Ещё раз обращаем внимание, что любые операции со смартфоном делаются на ваш страх и риск! После разлочки загрузчика вы можете лишиться гарантии, потеряете DRM-ключи, вам будет запрещено ставить официальные OTA-обновления, а также придётся аккуратно выбирать последующие прошивки. Если вас не страшит сия участь, то продолжим. Открываем командную строку (Win+R, cmd, Enter) и переходим к папке, где лежит fastboot.exe. Если вы установили Android SDK, то это C:\Program Files\Android\android-sdk\platform-tools.

cd C:\Program Files\Android\android-sdk\platform-tools
fastboot.exe -i 0x0fce getvar version

Если в ответ вы получили что-то в духе version: 0.5, то всё в порядке. В случае ошибки проверьте правильность установки драйвера в диспетчере устройств или попробуйте отключить и снова подсоединить аппарат в fastboot-режиме. Затем ещё раз попытайтесь выполнить эту команду. Остался последний этап, после которого пути назад не будет, и есть ещё время отказаться от всей этой затеи. Если терять уже нечего, то выполняем нижеследующую команду, где KEY — это код разблокировки, который был ранее получен на сайте Sony.

fastboot.exe -i 0x0fce oem unlock 0xKEY

Телефон пока не отключаем. Прошивка устанавливается с помощью утилиты QuikIMG. В подкаталог images необходимо скопировать img-образ системы из архива с prerooted-прошивкой и ничего более. Не перепутайте — не zip-архив, а именно файл img (например, system.img)! Запускаем QuikIMG, в списке слева выбираем извлечённый img-файл, справа отмечаем system и нажимаем кнопку Flash. Через пару минут телефон прошьётся и его можно будет отсоединить от ПК, перезагрузить и провести базовую настройку системы. Проверяем, что у нас действительно установлена версия 2.3.7 и включаем режим отладки в настройках приложений.

Первым делом необходимо скачать архив с подготовленным образом Ubuntu (есть и другие дистрибутивы). Для Xperia S подойдёт Ubuntu Small (с LXDE) или Full (с Unity). На SD-карте или во внутреннем хранилище надо создать папку ubuntu и скопировать в неё файлы img и md5 из скачанного архива. А пока всё это добро скачивается, лучше заняться установкой минимума необходимого ПО в телефоне — непосредственно Complete Linux Installer, системных утилит BusyBox (нужны не для всех моделей), терминала Android Terminal Emulator, VNC-клиента вроде android-vnc-viewer и при желании какого-нибудь SSH-клиента. В самом приложении можно найти инструкции по запуску различных дистрибутивов, небольшой FAQ и прочую полезную информацию.

Для запуска Ubuntu надо перейти в раздел Launch, выбрать в списке наш дистрибутив и нажать Start. Откроется окно терминала. При первом запуске образ системы проходит проверку целостности, так что придётся подождать несколько минут, пока она завершится. Затем надо дважды ввести пароль пользователя, согласиться на запуск VNC-сервера (y) и, если хотите, SSH-сервера. Осталось указать разрешение экрана и сохранить по желанию указанные настройки как дефолтные. Теперь можно подключаться с помощью VNC-клиента к запущенной ОС локально или же по Wi-Fi с другой машины. Порт 5900, адрес localhost или IP-адрес смартфона, логин и пароль совпадают — ubuntu. В настройках цвета лучше выставить 24bpp.

Ubuntu с оболочками LXDE и Unity

В итоге получается вполне рабочая настольная ОС, запущенная на смартфоне. Конечно, следует учитывать некоторую нестабильность, не очень большой выбор ПО для ARM-платформы и не столь быструю работу, как на обычном современном ПК. Впрочем, для экспериментов этого достаточно. Работать непосредственно на телефоне не очень удобно — проще подключить Bluetooth-клавиатуру и мышь, а изображение вывести на монитор или ТВ. Прочие пути улучшения работы в новом окружении и решение некоторых проблем можно найти в wiki проекта.

Удалённое подключение к смартфону через TightVNC

Для завершения работы Ubuntu достаточно выполнить в эмуляторе терминала команду exit. Как видите, всё довольно просто. Большую часть времени заняла возня с прошивкой для получения root-прав. На других аппаратах всё может быть как проще, так и сложнее. В связи с этим в очередной раз призываем к внимательности и аккуратности при работе с прошивками, дабы не превратить высокотехнологичную игрушку в «кирпич».

Ну что, кажется, рассказали обо всех важных деталях. Поэтому можно распрощаться и напоследок традиционно пожелать удачных изысканий на ниве смартфонного убунтоводства!

 
 
Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии