Установка Ubuntu Touch на телефон. Переселение души: linux на android планшете

Linuxsoid! мой друг Юрий Герук

Вторая часть о том как установить Ubuntu на ваш Android смартфон или планшет на данной платформе.

Доброго времени суток пользователи сайта Linuxsoid! Вчера была опубликована статья, с установкой операционной системой Linux Ubuntu для смартфона или планшета, это был только первый способ как я смог это сделать. Хотелось еще раз сказать, что я не удалял систему Androd, а запустил вторую поверх другой. Я бы не стал дальше интересоваться или даже пытаться установить ее себе, пока мой друг Юрий Герук мне подал хорошую идею, по установке системы и только после этого мне стало интересно и я начал свою работу.

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

В первой части (Способ №1) я написал как установить систему через программу под названием Complete Linux Installer . Был рассказан полный порядок действий, при работе на данной программе, что скачивать как устанавливать и все прочие. Сегодня я хотел предоставить вашему вниманию второй способ (Способ № 2). Мы с вами будем производить установку Linux Ubuntu на устройство под управлением Androd через мобильное приложение под названием Linux Deploy . Приложение так же доступно для вас в бесплатном доступе на Google Play Market, где скачать его может абсолютно любой желающий пользователь.

В этом приложении вам не нужно производить регистрацию и активацию, после установки его к себе на устройство его будет необходимо запустить и снова закрыть. Что нам потребуется для запуска системы через Linux Deploy . ?

  1. Смартфон и компьютер с выходом интернет (желательно использовать Wi-Fi) чем лучше соединение, тем быстрее произойдет загрузка.
  2. USB кабель (для подключения вашего устройства к настольному компьютеру или ноутбуку)
  3. Аккумулятор желательно заряженный на 100%, но не меньше 50%
  • Приступаем к выполнению нашего задания! Чтобы не получилось очень длинно,я буду пропускать моменты, которые указывались в способе №1 . Первым и простым шагом для нас это будет получение рут прав себе на устройстве, в предыдущей статье я показывал подробно как это делается.
  • У кого Root права получены может приступать к следующему шагу, а именно включить на своем устройстве отладку по USB (в прошлой статье тоже написано как этого добиться). Берем в руки наш смартфон и переходим в официальный магазин Play Market, где нам предстоит скачать приложение с названием Linux Deploy . Если у вас настроен аккаунт то вы сможете перейти по ссылке с названием программы и установить приложение используя компьютер. После установки открываем приложение и смотрим далее!
  • Как видим на скриншоте выше, нам показана программа с простым и не сложным интерфейсом. При первом запуске программа показывает нам небольшую справку, перечень того чтобы начать пользоваться этой программой. После выполнения этих требований приступаем к настройке. Чтобы настроить нашу программу необходимо перевести ее на Русский язык (делаем у кого автоматом не перевелась программа) Ставим Русский язык и галочку напротив пункта не отключать экран.

Смотрим как показано на рисунке ниже:

После установки языка и галочки не отключать экран, мы плавно переходим к следующему действию, а именно:

  • Создаем новый профиль для нашей новой учетной записи Linux. Для этого необходимо вернуться на главный экран программы, да именно на тот, в котором изображена справка дальнейших действий и нажимаем на шапку программы (где нарисован пингвин). После этого вас автоматически перекинет в новое окно, где от вас требуется нажать на плюсик и создать профиль. Как подражатель примера я создал профиль с названием Linuxsoid.com . Вы можете назвать его как угодно!
  • Когда написали имя профиля нажимаем кнопку ОК. После этого просто выбираем нужный профиль.
  • После этого всего я сворачиваю лавочку и иду спать а вы как хотите дальше сами, конечно же я пошутил! Сворачиваем приложение и возвращаемся в Play Market и качаем Es- проводник (у кого стоит скачивать повторно не надо да и у вас не получиться:-D) . Открываем проводник и создаем папочку под названием Ubuntu. После того как создадите папку, нужно узнать путь к ней. У меня это будет карта памяти как у вас я не знаю.
  • При создании нажимаем на желтый плюсик, после того у вас появиться всплывающие окно, где выпираем создание папки и плавно перетекает в наименовании папки (лучше писать на английском языке, не стоит испытывать судьбу своего смартфона, одно скажу к хорошему это не приведет проверенно на собственном опыте). По окончанию нажимаю на лог истории и смотрю путь к нашей с вами папки. У меня получилось так: /sdcard/ubuntu/.

Первоначальная настройки программа прошла успешно? Тогда переходим к скачиванию и установки дистрибутива к себе на устройства, в новь созданную папку. Для этого нужно открыть приложение Linux Deploy и нажать, как бы на стрелочку похожею на загрузку, где вас должно перекинуть на новое окно с нужной для нас информацией. Что мы там видим? Программа предлагает нам установить систему, но для этого нужно ее выбрать. В этом окне нажимаем на дистрибутив и перед вами откроется все доступный выбор систем (Которые возможно пойдут на вашем устройстве). Я выбираю Linux Ubuntu. После того как выбрал нажимаю на установить и у вас должна начаться установка (загрузка), она занимает по времени около одного часа. поэтому лучше запитать смартфон к зарядке!

  • По окончанию установки нажимаем на кнопку старт и у вас должно произойти подключение к нужным серверам. Прелесть этого приложения в том, что ему не надо дополнительно прописывать терминал и давать команды приложение автоматически будет прописывать нужные команды. По окончанию вы увидите как показано на рисунке! Это в том случае если у вас прошло все как по маслу и не вылезли другие ошибки.
  • После таких надписей необходимо скачать и установить себе на устройство дополнительно приложение под названием VNCViewer как и в первом способе по установке. В сервере создаем новое подключение где адрес пишем localhots а в имя указываем любое и нажимаем подключиться. Приложение будет подключаться и если получиться спросит у вас пароль! Пароль на всех серверах всегда одинаковый (changeme) ну если вы подключаетесь через компьютер пароль будет другой я его не могу вам сказать так как я его не знаю.

По окончанию всего этого у вас должно получиться примерно так:

На этом все если возникнут проблемы пишите их в комментариях поможем вам их устранить по мере возможности. Материал подготовлен Александром Макаренков для сайта Linuxsoid.com.

Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС Android до того, как энтузиасты научились запускать на них полноценные дистрибутивы Linux. Сегодня методики установки Linux-дистрибутивов на Android-устройства широко известны, а в репозитории Google Play есть даже автоматизированные системы установки и запуска Linux. В этой статье я попытаюсь аккумулировать весь накопленный опыт работы с Linux на смартфонах, расскажу, зачем это нужно, и покажу, как избежать возможных подводных камней при переносе Linux на смартфон или планшет.

Зачем?

На первый взгляд может показаться странным, что кто-то пытается запустить на мобильном устройстве операционную систему, в принципе не предназначенную для работы с экраном небольших размеров и без достаточно точного манипулятора (мышь) и клавиатуры. Однако не стоит делать поспешных выводов. Дистрибутив Linux может дать владельцу смартфона достаточно много преимуществ, среди которых набор старых проверенных инструментов, таких как утилиты командной строки, продвинутые редакторы, FTP- и SSH-серверы, сетевые инструменты и средства разработки приложений. Запустив Linux без графической оболочки на смартфоне с хардварной клавиатурой (Motorola Droid, к примеру), можно достаточно комфортно всем этим пользоваться прямо на ходу без необходимости покидать сам Android. Все инструменты доступны в любой момент, а смартфон продолжает оставаться смартфоном, позволяя принимать звонки и слушать интернет-радио.

Второй аргумент за установку Linux на смартфоне - это возможность использовать его в качестве переносной рабочей станции, которую можно подключить к любому ПК и тут же получить доступ к терминалу с помощью SSH/Telnet-клиента либо клиента VNC/RDesktop. Это по определению лучше, чем флешки с установленным Linux, так как нет необходимости, во-первых, перезагружать машину, а во-вторых, гонять туда-сюда данные; результаты твоей работы будут доступны сразу после того, как отключишь смартфон от компа.

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

Как?

Перенести Linux на Android действительно просто, и главную роль здесь играет ядро Linux. Любой Linux-дистрибутив представляет собой набор приложений и библиотек, работающих поверх ядра Linux, а так как Android сам основан на почти неизмененном ядре Linux, эти приложения и библиотеки можно без каких-либо проблем запустить внутри среды Android. Достаточно лишь подыскать дистрибутив, для которого существует порт на платформу ARM (не забываем, что 99% всех Android-девайсов работают на ARM), установить его с помощью ARM-эмулятора на виртуальный жесткий диск (то есть в файл), скинуть этот файл на SD-карту устройства, открыть терминал, смонтировать образ в качестве loopback-устройства и сделать chroot внутрь. Все! Это так же просто, как запуск FTP-сервера в chroot-окружении - простой и проверенный десятилетиями метод.

Единственный камень преткновения, когда ты решаешь запустить дистрибутив Linux внутри Android, - графическая среда. В то время как с доступом к консоли никаких трудностей не возникает благодаря наличию полноценного эмулятора терминала, с графическими приложениями начинаются проблемы - нативного X-сервера для Android нет, а запустить обычный X-сервер внутри самого дистрибутива невозможно из-за коренных отличий в архитектуре графической подсистемы зеленого робота. Несмотря на то что в основе она использует стандартный Linux Framebuffer, поверх которого можно запустить X-сервер, эксклюзивное право его использования изначально принадлежит более высокоуровневым библиотекам Android, поэтому остается либо загружать Linux-дистрибутив вместо Android (что совершенно непрактично), либо придумывать обходные пути.

Проверка работы необходимых модулей

Имей в виду, что поддержка loopback-устройств и файловых систем ext2/ext3, необходимых для подключения образа, имеется далеко не во всех ядрах Linux, установленных на смартфонах под управлением Android. Проверить наличие поддержки можно с помощью команды lsmod | grep -e loop -e ext2.

Энтузиасты вышли из этой ситуации, используя простой метод «удаленного» подключения к рабочему столу с помощью любого доступного для Android VNC-клиента. Внутри chroot-окружения запускается X-сервер Xvnc, и все приложения работают под его управлением. Пользователю остается лишь установить VNC-клиент, вбить локальный адрес - и вуаля, на экране появляется полноценный рабочий стол.

Единственное узкое место при использовании удаленного рабочего стола - это производительность. Даже работая локально, VNC не может обеспечить должный ее уровень, которого бы хватило для плавной прокрутки или перемещения окон без лагов. Решить эту проблему пока не удалось, проекты разработки нативного X-сервера, который бы использовал графическую подсистему Android, еще очень сыры и не могут быть использованы для запуска полноценных графических сред. Впрочем, никто не запрещает их использовать; к примеру, X Server от Darkside Technologies Pty Ltd (goo.gl/ap3uD) вполне сгодится для запуска простого софта.

Изначально Linux для Android существовал только в виде образа с уже установленной системой, а также пояснительной инструкции, как этот образ подключить и использовать. Затем появились скрипты, которые автоматизировали процесс подключения образа и запуска Linux, но и они требовали некоторой работы головой. Наконец, в последнее время появились инсталляторы, доступные в Google Play (например, goo.gl/RSA1j), в некоторой степени автоматизирующие процесс запуска дистрибутива, хотя, по сути, это все то же руководство по установке, но интерактивное, с прямыми ссылками на скачивание образов и скриптов.

Альтернативные варианты

Выше я уже упомянул о том, что дистрибутив Linux вполне может быть загружен вместо Android, благодаря чему удастся задействовать Framebuffer для прямого доступа к видеоадаптеру и существенно ускорить работу графического интерфейса. Однако делать это на смартфоне практически бессмысленно - Linux непригоден в качестве основной системы на небольших экранах, к тому же принимать звонки и пользоваться интернетом будет невозможно. А вот на планшете Linux будет выглядеть вполне достойно.

Обычно на устройство, изначально работающее под управлением Android, так называемая нативная версия Linux-дистрибутива устанавливается следующим образом. На внутреннем NAND-накопителе планшета создается дополнительный раздел, на который копируется Linux-дистрибутив. Затем загрузчик U-Boot (он применяется в большинстве планшетов) настраивается таким образом, чтобы использовать этот раздел в качестве загрузочного. В результате планшет будет автоматически загружать Linux-систему после включения питания.

Чтобы оставить возможность загрузки Android, загрузчик U-Boot перенастраивают таким образом, чтобы раздел с Linux-системой был не основным, а выполнял функцию «раздела для восстановления» (Recovery Mode), доступного с помощью включения устройства с зажатой клавишей громкости (тот самый, который используется для перепрошивки устройства и выполнения различных восстановительных операций). Таким образом удается получить устройство с двойной загрузкой: Android по умолчанию и дистрибутив Linux при загрузке в режиме восстановления. Сам Recovery Mode при этом остается доступным только с помощью специальных инструментов.

В случае если NAND-памяти оказывается недостаточно для размещения полноценной Linux-системы, ее части (обычно раздел /usr) выносят в образ или раздел на SD-карте. Кстати, ext2-раздел на карте памяти также можно использовать для установки Linux, запускаемого в chroot-окружении.

Установить нативный Linux-дистрибутив сложнее, чем работающий в chroot-окружении, но это стоит того, если у тебя есть планшет и OTG-кабель, с помощью которого можно подключить клавиатуру и мышь.

Практическое занятие

Как я уже говорил, для запуска под управлением Android пригодны только дистрибутивы, портированные на архитектуру ARM. Прежде всего это Ubuntu и Debian, причем первый по понятным причинам пользуется гораздо большим интересом среди роботоводов. Также можно установить Gentoo и несколько специализированных дистрибутивов, например Backtrack. Рассмотрим самый типичный случай, то есть установку Ubuntu по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.


Для начала нам нужен образ жесткого диска с установленным дистрибутивом. Его можно создать самому, воспользовавшись эмулятором QEMU, однако в связи с тем, что процедура установки абсолютно стандартна и типична, описывать ее я не буду, а просто направлю тебя по адресу goo.gl/9nvBi . Здесь лежит архив с образом, на который предустановлен Ubuntu 12.04 с графическим окружением LXDE (было бы неразумно запускать Unity/Gnome на телефоне/планшете). Архив следует распаковать и положить файл ubuntu.img на карту памяти.

Далее надо смонтировать образ и сделать chroot в окружение дистрибутива. Для этого нужны права root, прошивка с поддержкой блочных loopback-устройств и установленный busybox (ищем в Маркете по запросу «busybox installer», в CyanogenMod есть по умолчанию). Последовательность действий:

  1. Открываем эмулятор терминала в Android (если нет, можно установить из Маркета Terminal Emulator) . Либо подключаем смартфон/планшет к компу и получаем доступ к терминалу с помощью adb: $ cd путь-до-Android-SDK/platform-tools $ sudo ./adb shell

    Не забываем, что режим отладки в этом случае должен быть включен: «Настройки -> Для разработчиков -> Отладка Android».

  2. Получаем права root: $ su
  3. Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его: # mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    Содержимое образа должно появиться в каталоге /sdcard/ubuntu. Проверь, чтобы это было так.

  4. Подключаем все необходимые для работы дистрибутива виртуальные ФС: # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. Настраиваем так, чтобы из chroot-окружения можно было получить полноценный доступ в Сеть: # sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts
  6. Переходим в chroot-окружение: # chroot /mnt/ubuntu

Собственно, на этом установка заканчивается. Теперь можно запускать консольный софт, производить обновление системы, стартовать сетевые сервисы и делать почти все, что можно сделать с обычной десктопной Linux-системой, не забывая, конечно, что некоторый софт, напрямую взаимодействующий с железом и различными специализированными псевдодевайсами, работать не будет. Также не забываем, что виртуальные ФС после завершения работы следует размонтировать.

Теперь нам необходимо установить и запустить X-сервер Xvnc, экспортирующий дисплей и устройства ввода с использованием протокола VNC. TightVNCserver уже есть в представленном образе и даже настроен, но, чтобы ты лучше понял процесс и смог решить возникшие проблемы, я подробно опишу процесс его установки и запуска.

  1. Обновляемся и устанавливаем TightVNCserver: # apt-get update # apt-get install tightvncserver
  2. Создаем файл /root/.vnc/xstartup и пишем в него следующее: #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession

    Третья команда здесь нужна, чтобы пофиксить проблемы, которые могут возникнуть из-за физического отсутствия на устройстве клавиатуры.

  3. Запускаем Xvnc с помощью враппера vncserver с правами root: # export USER=root # vncserver -geometry 1024x800

    В результате выполнения последней команды на экран будет выведен запрос на пароль для доступа к VNC-серверу, лучше указать что-нибудь простое вроде «123». Разрешение можно установить фактически любое, однако лучше, если оно будет совпадать с физическим разрешением экрана устройства.

  4. Устанавливаем на смартфон приложение AndroidVNC, запускаем его, указываем IP-адрес и порт 5901, подключаемся. На экране должен появиться рабочий стол LXDE.

Чтобы не заморачиваться с ручным вводом всех команд, можно использовать скрипт ubuntu.sh, расположенный здесь: goo.gl/xSpK4 . Просто положи его и образ ubuntu.img в каталог ubuntu на SD-карте и запусти скрипт командой sh ubuntu.sh, а через 5–10 секунд подключись к рабочему столу с помощью AndroidVNC. Имей в виду, что скрипт монтирует образ к каталогу /data/local/mnt.


Установка Gentoo на ext2-раздел

Итак, мы установили Ubuntu с помощью образа с файловой системой и шаманств с loopback-устройством и chroot-окружением. Сделать это оказалось несложно, а с применением скриптов так и вообще очень легко, но что, если пойти дальше и установить более хардкорный дистрибутив, и не с использованием образов, а на выделенный ext2-раздел на карте памяти? Так мы сможем решить проблему некоторых прошивок и ядер без поддержки loopback-устройств и к тому же сможем насладиться нормальным дистрибутивом, установленным по всем правилам.


Возьмем в качестве подопытной системы Gentoo. Чтобы установить его на ext2-раздел, нам понадобится карта памяти объемом не меньше 2 Гб и рутованный смартфон с установленным busybox. Последовательность действий следующая.

  1. Делаем бэкап данных с карты памяти и создаем на ней дополнительный раздел, объемом не меньше двух гигабайт . Сделать это можно с помощью любой программы для разбивки дисков, однако имей в виду, что если ты хочешь продолжать использовать SD-карту по прямому назначению, то создавать FAT32-раздел следует в начале карты, так, чтобы он стал первым, а дополнительный раздел для установки дистрибутива должен быть вторым.
  2. Форматируем разделы SD-карты: $ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. Берем телефон, заходим в «Настройки -> О телефоне» и смотрим, какой установлен процессор. Далее переходим на страницу goo.gl/PRfux и выкачиваем stage3 для нужной архитектуры, например stage3 для ARM v7 лежит в каталоге current-stage3-armv7a.
  4. Монтируем ext2-раздел карты памяти на компе и распаковываем в него содержимое полученного архива: $ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    Сразу редактируем конфиги и все, что нужно, по вкусу, включая правку /etc/resolv.conf по образцу из предыдущего раздела.

  5. Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu): # mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net.ipv4.ip_forward=1 # chroot /mnt/gentoo

Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта:). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.


Нативная установка

Запустив Ubuntu с использованием VNC-сервера, ты заметишь неторопливость его работы, которая связана с издержками протокола VNC на передачу картинки «по сети». Чтобы избежать этой проблемы, можно установить Ubuntu в качестве основной системы рядом с Android, так, чтобы она смогла использовать видеоадаптер напрямую. К сожалению, универсального способа сделать это не существует. Каждое устройство по-своему уникально, включая различные таблицы разделов NAND-памяти, на которую производится установка, различные устройства и драйверы для их работы.


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

  • Отдельный или основной NAND-раздел. Linux-дистрибутив может быть установлен как в заблаговременно созданный раздел в NAND-памяти, так и в основной загрузочный раздел. В первом случае разработчик прошивки обычно оставляет возможность загрузки Android с помощью специального скрипта либо через загрузку Linux-дистрибутива в режиме восстановления, во втором он будет установлен вместо Android и для возвращения возможности загрузки робота придется заново перепрошивать устройство.
  • Возможность двойной загрузки. Если Linux-дистрибутив будет установлен на отдельный раздел, разработчик может оставить возможность загрузки Android. Однако стоит сразу обратить внимание, как эта загрузка происходит: с помощью режима восстановления либо скрипта, запускаемого с обычного компа. Все-таки второй способ будет неудобен в дороге.
  • Поддержка оборудования. Оригинальное Linux-ядро Android-прошивки уже включает в себя все необходимые драйверы, которые могут понадобиться для работы полноценной Linux-системы, однако далеко не во всех Linux-прошивках все заведется само собой. Часто возникают проблемы с Wi-Fi-адаптером и сенсорным экраном, который неадекватно реагирует на прикосновения. Поэтому перед установкой прошивки стоит внимательно прочитать о возможных осложнениях.

В любом случае будь готов к тому, что во время установки Linux-дистрибутива все твои данные будут уничтожены. Без этого никак.

Что дальше

Linux-дистрибутив, установленный рядом с оригинальной Android-системой, может стать очень удобным рабочим инструментом, однако на данный момент «Linux внутри Android» считается скорее игрушкой и способом покрасоваться перед друзьями, нежели серьезным решением. Уверен, что в скором времени, когда для Android появится полноценная реализация графического сервера Wayland, ситуация начнет меняться и мы увидим дистрибутивы с адаптированным для небольших экранов интерфейсом, а также полноценные Linux-приложения, распространяемые в форме обычных APK-пакетов. Также не стоит забывать о проекте «Ubuntu for Android» - в его рамках идет работа над официальным портом Ubuntu для Android, который позволит использовать смартфон в качестве переносного системника, подключаемого к любому монитору.

Подробная инструкция по превращению любого устройства, работающего под управлением Android, в полноценный компьютер на базе Linux.

Запуск Linux на Android возможен! И для этого не нужно устройство с root-правами: всё необходимое ПО доступно в официальном магазине Google Play. Всего за 10–15 минут вы сможете получить операционную систему, отличающуюся от Android расширенной функциональностью.

Примечание: если вы последуете нашей инструкции, ОС Linux будет запущена в виртуальной среде. Android будет по-прежнему работать в фоновом режиме. Назвать такую систему полноценной было бы неверно. Тем не менее со списком стандартных задач она справляется хорошо.

Перед установкой закройте все ненужные приложения и очистите оперативную память Android-девайса.

1. Из магазина Google Play установите GNURoot Debian и XServer XSDL .

2. Перед началом установки Linux убедитесь, что ваш девайс подключён к стабильной сети Wi-Fi. Запустите GNURoot. Начнётся загрузка необходимых пакетов среды.

Установка занимает от 30 секунд до нескольких минут в зависимости от скорости вашего интернет-подключения. Не обращайте внимания на бегущие строки до появления следующей надписи:

root@localhost:/#

Знакомых с понятием «root-права» эта строка пусть не пугает: приложение не причинит никакого вреда устройству, поскольку работает в «песочнице».

3. Введите следующую команду:

apt-get update

Дождитесь окончания загрузки пакетов. Об этом скажет строчка Reading package lists…Done.

4. Теперь введите ещё одну строчку:

apt-get upgrade

На вопрос «Do you want to continue?» введите английскую букву Y и нажмите Enter. Начнётся установка пакетов.

В этот раз процедура установки займёт немного больше времени. Терпеливо ожидайте окончания инсталляции до появления заветной строки:

root@localhost:/#

Среда Debian Linux установлена, и теперь можно перейти к разворачиванию графической оболочки.

5. Установка всех пакетов дистрибутива Linux выполняется следующей командой:

apt-get install lxde

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

apt-get install lxde-core

Подтвердите установку, повторно введя Y и нажав на клавишу Enter. Начнётся процедура загрузки пакетов.

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

6. Для завершения установки операционной системы необходимо загрузить три дополнительные утилиты:

  • XTerm - для доступа к терминалу из графической оболочки Linux;
  • Synaptic Package Manager - для управления пакетами apt и загрузки приложений;
  • Pulseaudio - для установки драйверов звука.

Все три утилиты устанавливаются с помощью одной команды терминала GNURoot:

apt-get install xterm synaptic pulseaudio

На устройство будет загружено около 260 МБ данных.

7. Теперь сверните приложение GNURoot и откройте ранее установленное XServer XSDL. Согласитесь с загрузкой дополнительных шрифтов. После окончания установки несколько раз тапните по экрану (приложение предложит выбрать разрешение и размер шрифтов - тут всё зависит от ваших предпочтений), пока не увидите заставку с синим фоном и белым текстом.

Повторно запустите GNURoot и поочерёдно введите следующие две команды:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

Последовательность дальнейшего перезапуска системы (когда вы захотите открыть Linux повторно) выглядит так: запускаете XServer XSDL и ждёте появления синего экрана, открываете GNURoot и вводите две указанные выше команды, возвращаетесь к XServer XSDL.

Если терминал ругается на недопустимую команду, вернитесь к пункту 5 данной инструкции и попробуйте установку «голого» ядра. Проверьте состояние памяти Android-устройства.

8. Теперь откройте XServer XSDL, подождите несколько секунд - и перед вами готовая к работе Linux.

Для установки приложений в нижнем левом углу откройте меню Start и выберите Run. Введите Synaptic и нажмите Enter.

В открывшемся окне воспользуйтесь поиском и установите нужные приложения. Это может быть браузер Firefox, редактор изображений GIMP, офисный пакет Libre и прочие совместимые с Linux программы.

Разумеется, такой вариант установки Linux нельзя назвать полноценным запуском операционной системы на Android. Виртуальная Linux имеет несколько ограничений, но при использовании беспроводных мыши и клавиатуры (возможно и подключение с помощью OTG-переходника и USB-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.

Оригинал: Android is Based on Linux, But What Does That Mean?
Автор: Chris Hoffman
Дата публикации: 12 мая 2014 г.
Перевод: Н.Ромоданов
Дата перевода: июнь 2014 г.

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

Linux составляет ядро Android, но Google не добавил все типичное программное обеспечение и библиотеки, которые вы можете найти в дистрибутиве Linux, таком как Ubuntu. В этом все различия.

Сравниваем «Linux» и ядро Linux

Большая разница здесь сводится к тому, что мы подразумеваем под Linux. Люди используют термин «Linux» для обозначения многих различных вещей. По своей сути, Linux означает ядро Linux. Ядро является основной частью любой операционной системы.

Мы также ссылаемся на дистрибутивы Linux как просто «Linux». Тем не менее, дистрибутивы состоят не только из ядра Linux. Они содержат много других частей программного обеспечения, таких как утилиты командной оболочки GNU, графический сервер Xorg, рабочий стол GNOME, веб-браузер Firefox и так далее. Вот почему некоторые люди считают, что для «дистрибутивов», таких как Ubuntu, Mint, Debian, Fedora, Arch, OpenSUSE и другие, следует использовать термин GNU/Linux.

Android под капотом использует ядро Linux. Поскольку Linux имеет открытый исходный код, разработчики Android из компании Google имели возможность модифицировать ядро Linux под свои нужды. Linux предоставляет разработчикам Android для начала предварительно собранное и уже поддерживаемое ядро операционной системы с тем, чтобы им не нужно было писать свое собственное ядро. Это тот метот, с помощью которого было построено много различных устройств, например, в PlayStation 4 используется ядро FreeBSD с открытым исходным кодом, тогда как в Xbox Один использует ядро Windows NT, которое можно найти в современных версиях Windows.

Вы даже увидите версию ядра Linux, которая работает на вашем устройстве, в пункте меню About phone (О телефоне) или About tablet (О планшете) в меню Android’s Settings (Настройки Android).

Различия

Существует некоторая дискуссия по поводу того, можно ли квалифицировать Android как «дистрибутив Linux». В нем используется ядро Linux и другое программное обеспечение, но в него не входит большая часть программного обеспечения, которое обычно входит в Linux дистрибутивы.

Когда вы загружаете устройство с Android, ядро Linux загружается так же, как это было бы в дистрибутиве. Тем не менее, большая часть остального программного обеспечения различается. В Android не входит библиотека GNU C Library (glibc), используемая в стандартных дистрибутивах Linux, а также не входят все те библиотеки GNU, которые вы обнаружите в типичном дистрибутиве Linux. В нем также сервера X, например, Xorg, так что вы не сможете запустить стандартные графические приложения Linux.

Вместо того, чтобы запускать типичные приложения Linux, Android использует виртуальную машину Dalvik исключительно для того, чтобы запускать приложения, написанные на языке Java. Эти приложения ориентированы на устройства Android и интерфейсы прикладного программирования (API), которые представлены в Android, а не на Linux в целом.


Почему не удастся запустить в Android приложение, предназначенное для настольного компьютера с Linux

Поскольку в состав Android не входит графический X-сервер или все стандартные библиотеки GNU, вы не сможете просто запускать приложения Linux на Android. Вы должны запускать приложения, написанные специально для Android.

В Android есть командная оболочка, похожая на ту, что вы найдете на Linux. Но «прямо из коробки» нет способа получить к ней доступ, но вы можете установить приложение, например, Android Terminal Emulator, для того, чтобы получить доступ к этой терминальной среде.

Здесь, по умолчанию, вы не сможете сделать слишком многого. Терминал будет работать в ограниченной среде, поэтому вы не сможете получить полный доступ к корню системы без того, чтобы не выполнить рутование вашего устройства Android (прим.пер.: получить права доступа суперпользователя root). Многие стандартные команды, которые вам, возможно, потребуются, не доступны - вот почему те, кто выполнил рутование своих устройств в целом, устанавливают приложение BusyBox, устанавливающее много утилит командной строки. Эти утилиты используются приложениями, которым нужно что-либо делать с правами суперпользователя.


Почему не удастся запустить программное обеспечение для Android на настольном компьютере с Linux

В состав Linux не входит виртуальная машина Dalvik, поэтому Linux не может запускать приложения Android. Виртуальная машина Dalvik и все другое программное обеспечение Android, нельзя просто поместить в настольный компьютер с Linux — например, вам придется сделать больше работы для того, чтобы приложения для Android выдавали результат в в окно на обычном рабочем столе через Xorg. Теоретически, если выполнить всю работу, разработчики могли бы сделать, чтобы Dalvik работал на настольном с Linux и пользователи настольных компьютеров с Linux могли запускать приложения Android на своих рабочих столах. Была сделана попытка создать приложение (теперь уже не работающее) для Ubuntu, которое пытались сделать что-то вроде этого, интегрируя Ubuntu и Android на телефоне и позволяющее сделать так, чтобы эти программы можно было запустить на рабочем столе Ubuntu.

Для ОС Windows и Mac была попытка сделать это с помощью эмулятора BlueStacks и других приложений Android. Они запускают Android в виртуальной среде на виртуальной машине, что позволяет им запускать приложения Android на рабочем столе с большой потерей производительности. Но эти решения оказались не очень популярными.


ОС Chrome, созданная Google, также базируется на Linux. Как и Android, ОС Chrome не предоставляет стандартную оконную систему X, поэтому стандартные приложения Linux не могут работать на ОС Chrome. В отличие от Android, ОС Chrome ближе к стандартным дистрибутивам Linux для настольных компьютеров, поэтому вы можете использовать режим разработчика для того, чтобы установить недостающее программное обеспечение, предназначенное для настольного Linux.

Запуск Linux на Android возможен! И для этого не нужно устройство с root-правами: всё необходимое ПО доступно в официальном магазине Google Play. Всего за 10–15 минут вы сможете получить операционную систему, отличающуюся от Android расширенной функциональностью.

Примечание: если вы последуете нашей инструкции, ОС Linux будет запущена в виртуальной среде. Android будет по-прежнему работать в фоновом режиме. Назвать такую систему полноценной было бы неверно. Тем не менее со списком стандартных задач она справляется хорошо.

Перед установкой закройте все ненужные приложения и очистите оперативную память Android-девайса.

1. Из магазина Google Play установите GNURoot Debian и XServer XSDL.

2. Перед началом установки Linux убедитесь, что ваш девайс подключён к стабильной сети Wi-Fi. Запустите GNURoot. Начнётся загрузка необходимых пакетов среды.

Установка занимает от 30 секунд до нескольких минут в зависимости от скорости вашего интернет-подключения. Не обращайте внимания на бегущие строки до появления следующей надписи:

root@localhost:/#

Знакомых с понятием « » эта строка пусть не пугает: приложение не причинит никакого вреда устройству, поскольку работает в «песочнице».

3. Введите следующую команду:

apt-get update

Дождитесь окончания загрузки пакетов. Об этом скажет строчка Reading package lists…Done.

4. Теперь введите ещё одну строчку:

apt-get upgrade

На вопрос «Do you want to continue?» введите английскую букву Y и нажмите Enter. Начнётся установка пакетов.

В этот раз процедура установки займёт немного больше времени. Терпеливо ожидайте окончания инсталляции до появления заветной строки:

root@localhost:/#

Среда Debian Linux установлена, и теперь можно перейти к разворачиванию графической оболочки.

5. Установка всех пакетов дистрибутива Linux выполняется следующей командой:

apt-get install lxde

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

apt-get install lxde-core

Подтвердите установку, повторно введя Y и нажав на клавишу Enter. Начнётся процедура загрузки пакетов.

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

6. Для завершения установки операционной системы необходимо загрузить три дополнительные утилиты:

  • XTerm - для доступа к терминалу из графической оболочки Linux;
  • Synaptic Package Manager - для управления пакетами apt и загрузки приложений;
  • Pulseaudio - для установки драйверов звука.

Все три утилиты устанавливаются с помощью одной команды терминала GNURoot:

apt-get install xterm synaptic pulseaudio

На устройство будет загружено около 260 МБ данных.

7. Теперь сверните приложение GNURoot и откройте ранее установленное XServer XSDL. Согласитесь с загрузкой дополнительных шрифтов. После окончания установки несколько раз тапните по экрану (приложение предложит выбрать разрешение и размер шрифтов - тут всё зависит от ваших предпочтений), пока не увидите заставку с синим фоном и белым текстом.

Повторно запустите GNURoot и поочерёдно введите следующие две команды:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &

Последовательность дальнейшего перезапуска системы (когда вы захотите открыть Linux повторно) выглядит так: запускаете XServer XSDL и ждёте появления синего экрана, открываете GNURoot и вводите две указанные выше команды, возвращаетесь к XServer XSDL.

Если терминал ругается на недопустимую команду, вернитесь к пункту 5 данной инструкции и попробуйте установку «голого» ядра. Проверьте состояние памяти Android-устройства.

8. Теперь откройте XServer XSDL, подождите несколько секунд - и перед вами готовая к работе Linux.

Для установки приложений в нижнем левом углу откройте меню Start и выберите Run. Введите Synaptic и нажмите Enter.

В открывшемся окне воспользуйтесь поиском и установите нужные приложения. Это может быть браузер Firefox, редактор изображений GIMP, офисный пакет Libre и прочие совместимые с Linux программы.

Разумеется, такой вариант установки Linux нельзя назвать полноценным запуском операционной системы на Android. Виртуальная Linux имеет несколько ограничений, но при использовании беспроводных мыши и клавиатуры (возможно и подключение с помощью OTG-переходника и USB-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.



В продолжение темы:
Android

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