Линукс для андроид как установить

Устанавливаем рабочий стол Linux на Android

Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC.

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

Одной из ключевых технологий, которую применяют многие из систем Linux на Android, является pRoot. Это реализация утилиты chroot в пользовательском пространстве, которая пользуется большой популярностью в настольных системах и серверах Linux. Однако для инструмента chroot нужны полномочия пользователя root, которые не доступны по умолчанию на Android. pRoot же даёт это преимущество за счёт установления привязки к директории.

Терминалы Linux

Не во всех эмуляторах терминалов Linux для Android имеется набор утилит BusyBox, в отличие, например, от Termux. Причиной тому является то обстоятельство, что весь смысл подобных систем состоит в обеспечении «полной» установки всех компонентов ОС, в то время как BusyBox предназначена для того, чтобы свести всё множество общих утилит в один двоичный файл. В системах, где не установлена BusyBox, используется начальная загрузка для Linux, содержащая полные версии программ.
«

Задайте логин и пароль для дистрибутива и VNC в UserLAnd.

Однако в этих системах присутствует дополнительная технология, которая не требует наличия Termux. В этой статье будет рассматриваться полнокомплектная инсталляция дистрибутива Linux, а также рабочего стола GUI. Но прежде необходимо выбрать способ установки графической системы.

Linux на Android

Как было упомянуто ранее, программные пакеты, которые мы будем устанавливать, запускаются в пользовательском пространстве.

Это означает, что у них есть только разрешение для текущего пользователя, который в случае ОС Android всегда является обычным пользователем, т.е. не имеет полномочий администратора. Однако для того, чтобы установить рабочий стол Linux, нам понадобится установить графический сервер, например, X или Wayland. Если бы мы делали это в операционной среде Linux, то он запустился бы с полномочиями обычного пользователя, не имея при этом доступа к графическому уровню ОС Android. И потому мы должны смотреть в сторону установки сервера «стандартным» андроидовским способом, чтобы у него был доступ к железу и способность поддерживать графическую среду.

Умные ребята из сообщества разработчиков предложили два решения этой проблемы. Первое заключается в том, чтобы использовать собственные версии Linux (как правило, это сервер X). После того, как те начнут работу в фоновом режиме, у вас появится доступ к данному фоновому процессу через VNC. Если же на вашем устройстве Android уже имеется программа VNC viewer для удаленного взаимодействия с другими компьютерами, просто используйте её, чтобы получить удалённый доступ к локальному узлу. Это простое в исполнении решение, однако некоторые пользователи сообщают о том, испытывают затруднения с работой программы.

Второй вариант – установить сервер, предназначенный специально для устройств на базе Android. Некоторые серверы доступны на Play Store в платной и бесплатной версиях. Перед установкой необходимо проверить, поддерживается ли выбранный вариант или по крайней мере работает ли с тем программным пакетом Linuх для Android, который вы собираетесь установить. Мы отдали предпочтение системе X-Server, и потому использовали программный пакет XServer XSDL (ссылка). В статье будет описываться процесс установки данного сервера, хотя он может немного отличаться, если у вас установлено другое приложение или же используете VNC.

Выбор системы

Как в случае с X-Servers, в Play Store существует несколько приложений по установке дистрибутивов системы Linux. Здесь также, как и с Termux, мы сконцентрируемся на вариантах, которые не требуют полномочий суперпользователя, что в свою очередь предполагает определённую степень риска. Эти приложения предоставляют весь необходимый для большинства пользователей функционал, сохраняя при этом ваши данные в безопасности. Ниже представлены примеры таких приложений в Play Store:

UserLAnd: весьма популярный выбор пользователей. Приложение включает в себя набор распространенных дистрибутивов: Debian, Ubuntu, Arch и Kali. Любопытно, что несмотря на отсутствие вариантов на базе RPM, UserLAnd включает Alpine Linux для устройств с меньшим объёмом памяти.

AnLinux: данное приложение помогает в установке одного или нескольких списков дистрибутивов большого объёма и может включать в себя Ubuntu/Debian, Fedora/ CentOS, openSUSE и даже Kali. Там также можно выбрать низкозатратные десктопные варианты: Xfce4, MATE, LXQtand LXDE. Для работы требуется установленный Termux, а операционная система Android должна быть от 5.0 и выше.

Andronix очень похож на AnLinux. Возможно, имеет лучший дизайн, чем предыдущее приложение, однако поддерживает меньшее число дистрибутивов.

GNURoot WheezyX: этот проект стартовал как вариант Linux на Android и разрабатывался для программ c открытым исходным кодом. Как подсказывает название, он фокусируется на дистрибутивах Debian, в то время как ‘X‘ на конце означает, что приложение ориентировано на графический рабочий стол. И несмотря на то, что создатели остановили разработку проекта ради UserLAnd, GNURoot WheezyX всё ещё доступен на Play Store, если у кого-то есть в нём нужда.

Авторы данной статьи будут использовать приложение UserLAnd для установки рабочего стола Linux на Android, и тому есть несколько причин. Во-первых, приложение имеет открытый исходный код (хотя AnLinux тоже его имеет). Во-вторых, оно предлагает хороший набор дистрибутивов (хотя в него и не включены Fedora или CentOS), также с помощью него можно установить дистрибутивы с минимальными системными требованиями, которые не займут много места в памяти смартфона. Но главное преимущество UserLAnd в том, что оно имеет инструменты поддержки для установки отдельных приложений вместо целых дистрибутивов. Мы выясним, что конкретно это значит для нас, позже. А сейчас давайте установим UserLAnd на ваше устройство.

Приложение UserLAnd

Скачайте приложение из Google Play или F-Droid (ссылка) на ОС Android. Оно устанавливается как и любое другое приложение – ничего особенного здесь делать не надо. После этого запустите его из панели приложений.

Первое, что вы увидите там – это список дистрибутивов. В конце можно найти пару десктопных вариантов: LXDE and Xfce4. Замыкает его приложение Firefox, пара игр и несколько офисных утилит: GIMP, Inkscape и LibreOffice. Это вкладка называется «Приложения». Предназначена она для установки приложений.

После того, как вы установите что-нибудь, на вкладке «Session» появится соответствующая запись об этом. Здесь можно начать или остановить текущую сессию, а также посмотреть запущенные процессы.

“Filesystems” – последняя вкладка, которая показывает уже завершённые установки. Стоит отметить, что после того, как вы удалите любой элемент из Filesystems, сведения о нём будут стёрты из вкладки Session, что, однако, не доказывает обратного. Это значит, что вы сможете создать новую сессию на базе текущей файловой системы. Понять, как работает эта взаимосвязь, намного проще, если увидеть это в действии, и потому мы начнём с установки приложения в системной среде UserLAnd.

Читайте также:  Linux make system user

Перед тем, как установить дистрибутив на смартфоне, необходимо предоставить UserLAnd доступ к хранилищу.

Дистрибутивы в UserLAnd

Выберите один из дистрибутивов, расположенных на экране Apps, для установки на устройство. В качестве примера мы будем использовать Ubuntu. При нажатии на значок появляется диалоговое окно, где спрашивается имя пользователя, пароль и пароль VNC. Затем выберите способ, посредством которого вы получите доступ к дистрибутиву. Начнётся загрузка, в ходе которой будет задействован базовый образ выбранного дистрибутива. Распаковка файла будет осуществляться в директории UserLAnd.

По окончании загрузки вернитесь к эмулятору терминала xterm. Можете ввести служебную команду, чтобы узнать, какую версию Linux вы установили:

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

Последний шаг состоит в том, чтобы убедиться, что ваше новое окружение рабочего стола готово к запуску. Чтобы сделать это, нужно отредактировать файл .xinitrcfile, в котором в настоящее время имеется всего одна строка /usr/ bin/twm. Её необходимо изменить на /usr/bin/startlxde. Теперь выйдите из сессии XSDL (убедитесь, что нажали кнопку STOP в области уведомлений), удерживайте кнопку «Ubuntu listing» на вкладке Sessions, затем нажмите «Stop Sessions» и повторно запустите сессии. Через несколько секунд должна появиться системная среда LXDE. В ней можно делать то же самое, что и на обычном рабочем столе. Она просто может быть немного меньше и работать чуть медленнее: чтобы нажать кнопку на устройстве, вам придётся ждать дольше, чем если бы вы это делали с клавиатурой и мышью. Давайте посмотрим, как конкретно мы можем усовершенствовать системную среду Linux на смартфоне.

Краткое руководство к UserLAnd

При внимательном изучении содержимого рабочего стола можно обнаружить точное воссоздание дексктопной версии. Если вы используете UserLAnd на устройстве с клавиатурой и мышью (подключённых через Bluetooth-соединение или каким-либо иным образом), вам будет легко приспособиться к использованию системной среды Linux в таком формате. За исключением небольшого отставания, которое происходит за счёт того, что курсор X-Windows синхронизируется с курсором устройства на Android, всё работает плавно.

Возможно, первое, что вы захотите сделать, это отрегулировать установленную по умолчанию систему шрифтов, поскольку размер шрифтов рабочего стола слишком велик для экрана телефона. Перейдите в главное меню, затем выберите «Настройки» → «Настройка внешнего вида и виджетов» → «Виджет». Здесь можно поменять размер шрифта по умолчанию на более подходящий вариант для вашего телефона.

Возможно, дальше вы захотите установить свои любимые программы в системную среду Linux. Как сказано выше, служебные команды в этом случае не будут работать, так что смело используйте поистине незаменимый инструмент, который установлен в системной среде UserLAnd, под названием ASAP:

Дистрибутивы в приложении представлены в виде сессий. Вы можете начать и закрыть их.

После установки дистрибутива можно добавить среду рабочего стола со стандартными командами.

Вероятно, вам также понадобятся альтернативные способы установления соединения для своего дистрибутива. Тот факт, что вы изначально установили XSDL, не означает, что он должно быть неизменным всё время. Вы можете создать ещё одну учётную запись на вкладке Session и выбрать другой сервер. Только убедитесь, что указали его в одной и то же файловой системе. UserLAnd попытается направить вас на нужное приложение, чтобы установить новый тип соединения: либо XSDL, ConnectBot для SSH, или bVNC.

Однако настойчивость, с которой приложение автоматически направляет вас в Play Store при попытке переподключения, может раздражать. Чтобы прекратить это, достаточно сменить сервер посредством установки специального приложения. Для установки SSH выберите старый проверенный VX ConnectBot. Просто войдите в порт 2022 на рабочей станции под вашим именем и паролем. Для того, чтобы подключиться к серверу VNC достаточно установить коммерческое, но во многих отношениях продвинутое приложение Jump Desktop, и набрать адрес 127.0.0.1:5951.

Надеемся, вы помните пароль VNC, который задали, когда создавали файловую систему.
Получить доступ к текущей сессии UserLAnd также можно используя похожие инструменты на другом компьютере в вашей сети. Достаточно подключить SSH к работающему сеансу (с типом соединения SSH, естественно) посредством терминала Linux, например, Konsole, или подключиться к сеансу VNC с помощью KRDC. Просто замените локальные адреса на экране компьютера IP-адресами вашего Андроида.

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

Источник

Устанавливаем Linux-дистрибутив на телефон и планшет под управлением Android

Содержание статьи

Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС 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 на планшет и смартфон нет.

Читайте также:  Мониторинг smart zabbix windows

Перенести 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 по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.

BackTrack, запущенный на планшете

Хакер #164. Железный дуршлаг

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

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

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

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

  • Получаем права root:
  • Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его:

    Читайте также:  Disabling driver signature enforcement windows 10

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

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

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

    1. Обновляемся и устанавливаем TightVNCserver:
    2. Создаем файл /root/.vnc/xstartup и пишем в него следующее:

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

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

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

    AndroidVNC — подключаемся к рабочему столу

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

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

    Проект «Ubuntu for Android» в действии

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

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

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

  • Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu):
  • Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта :). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.

    Ubuntu на Galaxy Tab 10.1

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

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

    Нативный X-сервер для Android

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

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

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

    Запуск Ubuntu с помощью стартового скрипта

    Что дальше

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

    Источник

    Оцените статью