Операционная система linux и андроид. Установка Linux вместо Android

21.07.2019

У пользователя может быть много причин, по которым ему нужен может понадобиться "Линукс" на "Андроид". Можно, например, использовать его для питания сервера LAMP, который запускает веб-приложения и обслуживает веб-страницы. Если пользователь является сетевым администратором, он может установить свои любимые инструменты Linux и превратить смартфон в портативное сетевое решение для поиска неисправностей или проверки функциональности.

Изначально с Play Маркета Google скачивается полное приложение Linux Installer. Кроме того, нужно перейти на сайт проекта "Линукс" на "Андроиде" и загрузить версию Android-приложения с открытым исходным кодом. Предварительно следует зайти в меню «Настройки», выбрать «Безопасность» и переключится в положение «Неизвестные источники», чтобы включить установку приложений, отличных от Play Store.

Для приложения требуется корневое устройство Android. Точная процедура, необходимая для запуска, зависит от моделей устройств. Установщик требует, чтобы BusyBox загружал Linux, который будет реализован и установлен при первом запуске. Помимо приложения, созданного проектом "Линукс" на "Андроиде", также понадобится средство просмотра VNC для использования графического рабочего стола. В проекте предлагается использовать популярное приложение Android VNC Viewer.

Кроме того, нужно будет другое приложение для доступа ко встроенной командной строке Android. Проект предлагает использовать приложение Android Terminal Emulator. Далее запускают приложение Complete Linux Installer. Нажимают на значок проекта в верхнем левом углу экрана, чтобы открыть меню навигации, которое содержит несколько элементов. Первые два из них наиболее важные:

  1. Руководство по установке, где пользователю будут предложены шаги, необходимые для настройки и установки различных поддерживаемых дистрибутивов Linux.
  2. Элемент «Запуск» - это интегрированная программа запуска, которую можно использовать для загрузки Linux на смартфон в сконфигурированный дистрибутив.

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

  1. Запустить приложение Complete Linux Installer.
  2. Открыть меню навигации и нажать на элемент «Установить руководство».
  3. Появится список дистрибутивов, которые можно запустить на устройстве.

Можно запустить Linux на Unrooted Android-устройстве благодаря приложению GNURoot. Несмотря на свое название, для него не требуется встроенный телефон. Основное различие между Complete Linux Installer и GNURoot заключается в том, что последний дает доступ к интерфейсу командной строки дистрибутива Linux. Чтобы запустить "Линукс" на "Андроид" через GNURoot, нужно взять его из магазина Google Play, а также скачать сопутствующее приложение для конкретного дистрибутива Linux. Приложение используется для популярных дистрибутивов, таких как Debian, Gentoo и Fedora.

Эти приложения близки по размеру к 100 МБ, в отличие от приложения GNURoot, которое составляет всего несколько килобайт. После того как их установили, запускают GNURoot и используют раскрывающееся меню в верхней части страницы, чтобы выбрать тот дистрибутив, который нужно загрузить. Затем нажимают кнопку Create New Rootfs, чтобы установить дистрибутив. Процесс займет некоторое время в зависимости от ресурсов устройства. Когда это будет сделано, нужно нажать кнопку Launch Rootfs, которая откроет терминал и зарегистрирует пользователя в дистрибутиве "Линукс" на "Андроиде" (телефоне). Если установить флажок «Запуск, как фальшивый рут» перед запуском дистрибутива, то вход в систему будет осуществлен с привилегиями суперпользователя.

Инструкции для выбора Ubuntu

Предварительно нужно нажать на выбранный вариант для дальнейших инструкций, например, Ubuntu. После чего отобразятся подробные инструкции, разбитые на четыре страницы. На первой странице приложения отображаются основные требования, предъявляемые устройством для возможности запуска дистрибутива linux на смартфон. Самый важный шаг - убедиться, что включена поддержка отладки. Для этого нужно открыть последовательно разделы «Настройки», «Приложения», «Разработка» и удостовериться в том, что параметр «Отладка USB» переключен.

На странице seond появятся ссылки для загрузки изображения для выбранного дистрибутива. Далее нажимают на кнопку «Загрузить изображение», открывается окно с тремя дополнительными кнопками для загрузки одного из трех поддерживаемых типов изображений: большой, маленький или ядро.

Затем следует установить дистрибутив ОС "Линукс" на выбор, а также выбрать размер загружаемого сжатого изображения, которое будет отображаться на SD-карте после его извлечения. Далее последовательность шагов следующая:

  1. Убедиться, что устройство Android использует процессор ARM v7, поскольку большинство дистрибутивов поддерживают только эту архитектуру ARM.
  2. Нажать на изображение: данное действие вызовет еще одно всплывающее окно с кнопками, которые либо загружают изображение из зеркала Sourceforge, либо производят загрузку через торрент.
  3. Если пользователь выбирает опцию торрента, приложение загрузит торрент-файл, который затем нужно будет передать торрент-клиенту, чтобы загрузить фактическое изображение для выбранного дистрибутива ОС "Линукс".
  4. Можно загрузить изображение на компьютер, а затем перенести его на SD-карту на Android-устройстве. В этом случае можно безопасно пропустить инструкции на этой странице.
  5. Можно распаковать загруженный файл либо на компьютере, либо на самом устройстве. Для последнего понадобится универсальный файловый менеджер, такой как платное приложение Root Explorer или бесплатное приложение ES File Explorer.
  6. Если пользователь перемещает изображения на свое устройство вручную, лучше разместить их внутри папки. Например, если загружаются изображения для дистрибутива Ubuntu, будет правильнее распаковать его в папке Ubuntu на SD-карте.
  7. После загрузки пользователь попадет в окно терминала, где будут перечислены инструкции о том, как подключиться к этой запущенной установке "Линукс" на "Андроиде" (смартфоне) с помощью средства просмотра VNC.
  8. Необходимо указать пароль, отображенный на странице, так как он понадобится для подключения к серверу VNC, работающему внутри дистрибутива.

Для того чтобы запустить приложение, отвечающее за загрузку дистрибутивов, нужно открыть навигационное меню, нажав на значок приложения или нажимая на элемент запуска. Затем используется раскрывающееся меню на странице, чтобы выбрать дистрибутив. Если пользователь получил сообщение о том, что изображение для выбранного дистрибутива не существует, это означает, что приложение не может найти и извлечь файлы изображений для дистрибутива. Это происходит в том случае, если не был извлечен загруженный файл, или он был сохранен в нестандартном месте.

В таком случае нужно указать вручную файл IMG дистрибутива при запуске "Линукс" на "Андроиде". Для этого потребуется:

  1. Нажать кнопку «Настройки» в правом верхнем углу экрана «Запуск», в котором отображается раскрывающееся меню.
  2. Нажать опцию «Добавить», чтобы открыть страницу и выполнить запись для дистрибутива.
  3. Ввести имя дистрибутива в указанном пространстве и коснуться поля с тремя точками, чтобы перейти к файловой системе на устройстве Android и указать файл IMG для дистрибутива.
  4. Нажать «Сохранить изменения».

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

Порядок действий при установке "Линукс" на "Андроиде" планшете:

  1. Нажать на кнопку, чтобы загрузить дистрибутив. Это запустит приложение терминала и предоставит ему суперпользовательское разрешение.
  2. Нажать клавишу Enter на виртуальной клавиатуре, чтобы загрузить дистрибутив. Поскольку это первый раз, когда пользователь запустил дистрибутив, ему будет предложено указать пароль по умолчанию. Это пароль для учетной записи пользователя по умолчанию, а не пароль, необходимый для входа в сеанс VNC.
  3. Затем программа уточнит, нужно ли, чтобы дистрибутив запускал сервер VNC для просмотра графического рабочего стола и SSH-сервера или для удаленного доступа к дистрибутиву через безопасное соединение.
  4. Рекомендуется запустить их, чтобы воспользоваться всеми преимуществами запуска дистрибутива Linux на устройстве Android.
  5. Затем будет предложено ввести разрешение экрана сеанса VNC. Хотя можно установить его на любой размер, для лучшего обзора обычно устанавливают продукт с таким же разрешением, как и на устройстве.
  6. Нужно учитывать, что при вызове виртуальной клавиатуры она скроет часть рабочего стола. Это все, что требуется для конфигурации.
  7. Затем приложение предложит сохранить настройки по умолчанию и позволит загружать дистрибутив.

Когда будет загружен дистрибутив, пользователь увидит примечание с соответствующими настройками, в соответствии с которыми необходимо подключиться через VNC к этому дистрибутиву, а затем отобразится стандартное приглашение root для Linux. Использовать эту оболочку можно для взаимодействия с дистрибутивом, как с любым настольным приложением. Для целей безопасности в первую очередь пользователь должен установить новый пароль для использования root.

Порядок установки системы безопасности:

  1. Войти и ввести новый пароль для пользователя root. Если нужно запустить SSH-сервер при загрузке дистрибутива, можно подключиться к нему с любого компьютера в сети, введя команду Ifconfig внутри терминала на устройстве Android.
  2. Набрать IP-адрес устройства, например, 192.168.2.101.
  3. Чтобы подключиться к устройству, следует запустить терминал на другом компьютере и ввести: ssh [email protected].
  4. Система потребует пароль для пользователя ubuntu, который был установлен при первой загрузке дистрибутива.
  5. Чтобы просмотреть графический рабочий стол, работающий поверх дистрибутива Linux на устройстве Android, нужно нажать кнопку «домой» и свести к минимуму приложение терминала.
  6. Запустить приложение VNC, например, androidVNC для установки "Линукс" на "Андроиде".

VNC имеет различные настройки, чтобы подключаться к дистрибутиву, запущенному на устройстве. Нужно ввести localhost в поле, которое запрашивает IP-адрес сервера VNC и 5900 в качестве порта. В дополнение к этому также потребуется пароль для аутентификации с сервером VNC, что зависит от дистрибутива. Для изображений Ubuntu пароль - ubuntu. Для Arch Linux - это archlinux, для Linux Debian - это debian и так далее. Пароль указан на вики-странице дистрибутива на веб-сайте проекта LinuxOnAndroid.

Если пользователь использует androidVNC, приложение предлагает изменить формат цвета на 24-битный цвет (4bpp). Далее нажимают кнопку «Подключить», чтобы начать сеанс VNC после того, как была введена вся информация. Клиент VNC подключится к устройству, сразу же отобразится графический рабочий стол, который запущен в используемом дистрибутиве.

Разработчики приложений советуют пользователям androidVNC изменять режим ввода на тачпад. Для этого нажимают на кнопку меню внутри сеанса VNC. Это вызовет множество вариантов. Нужно нажать опцию «Входной режим», а затем выбрать переключатель «Тачпад» из списка поддерживаемых режимов ввода. Теперь можно взаимодействовать с рабочим столом и управлять им так же, как и на ПК.

В приложении Android VNC однократное нажатие означает левый клик. Двойное нажатие имитирует щелчок правой кнопкой мыши. Приложение отобразит три кнопки: две для увеличения и уменьшения масштаба и одну для отображения виртуальной клавиатуры. Можно использовать диспетчер пакетов для установки новых приложений. Дистрибутив сможет устанавливать приложения, которые были перенесены для архитектуры ARM, что верно для любого популярного приложения.

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

В дополнение к кнопке «Начать Linux» нажимают «Настроить Linux», чтобы открыть страницу настроек. Здесь размещены флажки для включения и отключения запуска серверов SSH и VNC. И также можно изменить разрешение экрана VNC, изменив значения, указанные на этой странице. На странице представлено несколько интересных опций, в том числе флажок Create 1GB SWAP File. С их помощью приложение создаст файл подкачки для дистрибутива.

Файл подкачки для системы

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

Порядок операций:

  1. Нажать кнопку Configure Mounts для запуска редактора монтирования.
  2. Нажать «Параметры» в правом верхнем углу, а затем выбрать опцию «Добавить монтирование».
  3. Появится страница, где нужно будет указать местоположение папки Android, которую нужно разделить вручную, например, storage/sdcard0/Downloads, а затем путь установки, например, home/убунт/Загрузка.
  4. Можно добавить столько папок, сколько нужно.
  5. Нажимают кнопку «Сохранить изменения», затем выходят из редактора монтирования.

Перенос папок в новое изображение

В зависимости от того, как используется дистрибутив, рано или поздно пользователь может исчерпать все свободное пространство. В таком случае ему придется освободить место путем создания более крупного образа и копирования всех файлов и папок из существующего в новый. Начинают процедуру с запуска терминала и создания пустого образа требуемого размера. Например, для создания 4GB-изображения под названием ubuntuNEW.img необходимо задать команду:

dd if = / dev / zero of = ubuntuNEW.img bs = 1M count = 0 seek = 4096.

Затем нужно отформатировать это новое изображение и создать файловую систему посредством команды:

mke2fs -F ubuntuNEW.img.

Потом копируют файл изображения, который надо получить с устройства, на компьютер, Например, с именем ubuntuOLD.img. Далее создают две папки на рабочем столе (ubuntuNEW и ubuntuOLD), чтобы смонтировать эти изображения, посредством команд:

  • sudo mount -o loop ubuntuOLD.img ubuntuOLD;
  • sudo mount -o loop ubuntuNEW.img ubuntuNEW.

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

sudo cp -rp ubuntuOLD / * ubuntuNEW.

Предварительно нужно убедиться, что файлы и папки скопированы вместе с правами доступа. Завершают процесс обычно путем отключения изображения с помощью записей:

  • sudo umount ubuntuOLD;
  • sudo umount ubuntuNEW.

Теперь можно перенести файл ubuntuNEW.img на свой телефон, удалить существующее изображение и убедиться, что запись distro на экране запуска указывает на новое изображение. Включите использование инструментов диспетчера пакетов CLI дистрибутива с помощью GNURoot.

Установка "Линукс" на "Андроиде" без root прав

Для установки какого-либо дистрибутива Linux на Android-телефоне обычно требуются дистрибутивные и корневые разрешения, поддерживаемые ARM. Поскольку укоренение телефона отменяет гарантию и открывает бэкдоры для потенциальных атак, нужно применить способ запуска Linux на Android без укоренения. С помощью GNURoot пользователю не нужно выполнять эти трюки и пропускать права доступа root.

Этот метод не похож на установку полной версии ПК для Linux на телефонах Android, поскольку устанавливают подсистему Linux, которая включает в себя множество инструментов. Можно использовать apt-get, SSH или даже превратить свой Android-телефон в LAMP-сервер для запуска веб-приложений.

Установка Linux на Android-телефоне по этой версии потребует предварительно установить GNURoot из Play Маркета. Затем приложение устанавливает фальшивую корневую Для этого просто открывают Play Store, находят GN, URoot и устанавливают эти продукты. Выбирают вспомогательное приложение дистрибутива Linux.

По умолчанию GNURoot предлагает разные дистрибутивы Linux на базе ARM: Linux Debian Wheezy, Fedora, Aboriginal (легкий вариант BusyBox) и Gentoo. Выбирают любой из них и нажимают «Создать новые Rootfs», чтобы загрузить необходимые файлы. Этот процесс может занять некоторое время, поэтому нужно подождать несколько минут, после чего следует выбрать дистрибутив Linux и запустить его.

После завершения загрузки выбирают этот дистрибутив из второго варианта выпадающего списка. После отметки поля «Запуск как фальшивый Rootfs», получают команды apt-get и другие корневые команды. Нажимают «Запустить Rootfs», чтобы установить и использовать Linux на телефоне Android. После установки пользователь готов применять Linux на телефоне Android. Теперь можно установить любой пакет из дистрибутива, используя соответствующий менеджер пакетов при помощи apt-get для Wheezy или yum для Fedora.

Для создания дополнительных окон терминала нажимают на кнопку «+». Чтобы получить доступ к параметрам меню для различных настроек, можно нажать на значок справа и другие параметры. В четырех основных дистрибутивах Linux, доступных в приложении GNURoot, придется работать с помощью командной строки. Чтобы запустить программы, требующие окон, понадобится графический интерфейс.

На первом этапе это можно реализовать с помощью дистрибутива GNURoot WheezyX, который запускает VNC-сервер. Для просмотра графического интерфейса нужно загрузить VNC Viewer из Play Маркета. В первый раз, когда дистрибутив WheezyX запускается в окне терминала, запускают приложение просмотра VNC и вводят «localhost: 1» в качестве адреса и «пароль» по умолчанию. Для этого запускается виртуальный рабочий стол для окна терминала xterm для Wheezy. Теперь, используя указатель мыши и значок клавиатуры, можно перемещаться по Linux на Android.

Является очень популярной, особенно в среде системных администраторов и разработчиков программного обеспечения. Огромное количество различных устройств работает под его управлением. К сожалению, мобильных устройств, таких, как планшет, с родной поддержкой Linux практически не существует. На данный момент выпущена всего лишь одна модель, работающая на Ubuntu. Но купить её может быть не так просто, поскольку доступен он не в каждой стране.

При желании можно установить на планшет Linux, заменив Android.

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

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

Что вам понадобится:

  • Планшет на Андроиде.
  • SD-карта объёмом 3,5 ГБ и больше.
  • root-доступ
  • полная резервная копия всех данных для стопроцентной уверенности безопасного исхода. Вы перемещаете большие файлы и выполняете множество операций, поэтому это просто необходимо.

ВАЖНО. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ. Несмотря на то что этот процесс не наносит никакого ущерба, редакция сайта не несёт ответственности, если что-то случится с вашим Андроид-девайсом в процессе установки или запуска Ubuntu.

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

Библиотеки BusyBox помогут вам взаимодействовать с системой Андроид. Вы можете скачать инсталлятор из Play Store (или Android Market), перейдя сюда (https://play.google.com/store/apps/details?id=stericson.busybox) и загрузив его. Перейдите на вкладку «Установка BusyBox» и нажмите кнопку «Установить». Как только утилита будет установлена, можно перейти к следующему шагу, установив эмулятор терминала.

Шаг 2. Установка эмулятора терминала и проверка правильности его работы.

Самый популярный эмулятор терминала на Андроид находится на этой странице (https://play.google.com/store/apps/details?id=jackpal.androidterm) в Play Market. Перейдя по ссылке, скачайте его, установите на планшет и запустите.

После того как откроется рабочее окно приложения, введите слово «su». Утилита запросит у вас предоставить root-доступ, и вы должны дать их, поскольку утилита запускает системные скрипты, которые мы позже будем использовать для запуска Ubuntu.

Чтобы проверить, работают ли правильно терминал и библиотеки BusyBox, введите команду «busybox arping —help». Если терминал выдаст вам текст с множеством параметров, таких как -f -q -b, всё работает. Если нет, проверьте, есть ли в вашем телефоне рут-права, правильно ли выполнена установка BusyBox, и есть ли у терминала разрешения. Если всё в порядке, можно продолжить.

Если вы закончили всё необходимые действия шагов 1 и 2, не нужно беспокоиться. Следующие несколько шагов очень просты. Начните с подключения телефона к компьютеру . Вы должны включить USB-накопитель, что позволит открыть вашу SD-карту на компьютере (большинство из вас, когда перемещали музыку и другие файлы с компьютера на Андроид, знают об этом).

Далее необходимо создать папку с названием «Ubuntu» на SD-карте. Затем вы должны скачать этот (https://sourceforge.net/projects/linuxonandroid/files/Ubuntu/10.10/ubuntuV5-image.zip/download) и этот (https://sourceforge.net/projects/linuxonandroid/files/Ubuntu/10.10/ubuntuV5-script.zip/download) файлы. Это ZIP-файлы, которые содержат 2 важных вещи: скрипт запуска и файловую систему Ubuntu. Если вы откроете первый ZIP-архив, то найдёте IMG-файл, а если распакуете второй файл, то обнаружите SH-файл.

Разархивируйте оба архива и переместите файлы в папку «Ubuntu». Теперь у вас должно быть два файла в папке. Большинство необходимых процессов завершено.

Шаг 4: Запуск системы Ubuntu

Вернитесь к терминальному приложению и снова напишите «su», затем напишите «cd / mnt / sdcard». Чтобы убедиться, что все работает, попробуйте написать «ls» и посмотреть, сможете ли вы распознать свои папки (вы также сможете найти папку Ubuntu).

Чтобы запустить ваш Убунту, напишите «cd / ubuntu», а затем «sh ubuntu.sh». Это приведёт к выполнению многих процессов, которые попытаются установить вашу систему. Далее утилита запросит выбрать разрешение экрана. Введите его в формате ширина x высота, например, 1280 x 720. Для более лучшей производительности, чтобы планшет не тормозил, выбирайте разрешение поменьше. Теперь всё сделано.

Система Ubuntu работает, однако мы не можем её увидеть. Чтобы увидеть графический интерфейс, нужно использовать клиент протокола VNC. Мы можем скачать любой из них из Play Store.

Подробная инструкция по превращению любого устройства, работающего под управлением 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-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.

Ubuntu Touch — также известный, как Ubuntu для Android устройств или Ubuntu Phone — это мобильная операционная система, которая в настоящее время находится в бета-версии. Тем не менее, если у вас есть поддерживаемое Android устройство, вы можете установить Ubuntu на Android прямо сейчас.

Вы можете посмотреть список поддерживаемых Android устройств для установки Ubuntu по этой ссылке .

Подготовка

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

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

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

Как установить Ubuntu на Android

Шаг 1:

Убедитесь, что на вашем компьютере под управлением Ubuntu добавлен репозиторий Universe . Это программное обеспечение, которое, вероятно, закомментировано. Вам нужно удалить # вначале строки в следующем файле: /etc/apt/sources.list. Более подробно по этой ссылке .

Шаг 2: (можете пропустить этот шаг, если вы работаете в 14.04, поскольку инструменты уже включены).

Вам понадобятся инструменты Phablet Tools PPA для того, чтобы установить Ubuntu для Android.

  1. Нажмите Ctrl + Alt + T на вашем компьютере, чтобы открыть терминал (командную строку).
  2. Добавьте Phablet Tools PPA, набрав следующую команду: sudo add - apt - repository ppa : phablet - team / tools
  3. На Ubuntu 12.04 добавьте Ubuntu SDK Release PPA, набрав следующую команду: sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
  4. Обновите свою систему, чтобы использовать последние версии пакетов. Для обновления используйте следующую команду: sudo apt-get update
  5. Установите пакет ubuntu-device-flash, набрав следующую команду: sudo apt - get install ubuntu - device - flash
  6. Для получения справки по ubuntu-device-flash tool используйте следующую команду: man ubuntu - device - flash
  7. Напишите букву q , чтобы выйти.

Шаг 3:

  1. Установите phablet-tools, набрав команду: sudo apt-get install phablet-tools
  2. Отсортируйте инструменты, набрав команду: dpkg -L phablet-tools | grep bin

Шаг 4:

Дальше необходимо включить режим разработчика на Android устройстве. Чтобы сделать это, перейдите в Настройки – О телефоне, после чего семь раз нажмите на строку «Номер сборки». Вы увидите всплывающее сообщение, что вы стали разработчиком.

Теперь у вас появился новый раздел в настройках под названием «Для разработчиков». Перейдите в данный раздел и активируйте опцию «Отладка по USB ».

Отладка по USB позволяет отправлять команды на мобильное устройство с командной строки на компьютере через USB кабель.

Шаг 5:

Подключите Android устройство с помощью USB кабеля к компьютеру под управлением Ubuntu. Для того, чтобы проверить соединение со смартфоном, напишите в командой строке: adb devices

На экране должно появится ваше устройство с серией цифр и букв. Если устройство не отображается, попробуйте набрать: adb kill - server

Шаг 6:

Чтобы установить Ubuntu на Android, вам нужно разблокировать загрузчик.


Шаг 8:

  1. Выключите ваше устройство с помощью кнопки питания.
  2. Перезагрузитесь в режиме Загрузчика с помощью комбинации физических кнопок. Например, комбинация для Nexus 5: кнопка Громкость Вниз, Громкость Вверх и кнопка Включения. Поищите комбинацию кнопок для своего устройств в интернете.
  3. Установите Ubuntu, набрав следующую команду: ubuntu-device-flash —channel=devel —bootstrap
  4. Установка должна происходить автоматически без каких-либо действий с вашей стороны. Это займет некоторое время.
  5. После перезагрузки, ваше мобильное устройство будет работать на операционной системе Ubuntu.

Шаг 9:

После установки Ubuntu на Android, вы можете перейти в раздел Настройки> Обновления и выбрать, будут ли обновления устанавливаться автоматически или вручную.

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

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

Linux или не Linux?

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

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

BotBrew: список поддерживаемых устройств

BotBrew был протестирован на следующих устройствах: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, Samsung Galaxy Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony Ericsson Xperia X8, Asus EeePad Transformer TF101.

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

Ну и довершает картину то, что в Android просто нет многих стандартных компонентов Linux, включая, например, даже такие неотъемлемые, как графический стек X Window или библиотека GTK+. Кое-какие попытки все это сюда принести, конечно, предпринимаются, но дальше полурабочих альфа-версий дело не двигается.

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

Гораздо более интересным выглядит проект BotBrew - в его рамках разрабатывается вполне обычный для Linux-систем менеджер пакетов и репозиторий, с помощью которого можно устанавливать Linux-софт в отдельно взятый каталог внутри Android. Также в свое время было придумано множество различных скриптов, которые позволяют легко и без лишних проблем собирать пригодный для работы внутри Android Linux-софт на большом брате. Этим двум проектам и будет посвящена оставшаяся часть статьи.

BotBrew

Проект BotBrew призван решить многие проблемы с установкой Linux-софта, которые только могут возникнуть у пользователя, и подготовить систему Android к принятию инородных для нее приложений. По сути, система состоит из четырех компонентов:
  • репозиторий с прекомпилированными для Android приложениями, используя который можно установить многие Linux-приложения с помощью одной команды;
  • менеджер пакетов, в качестве которого используется легковесный Opkg или dpkg вместе с apt-get в экспериментальной версии BotBrew Bazil;
  • менеджер процессов runit, необходимый для того, чтобы правильно запускать и поддерживать работу демонов, если таковые будут установлены;
  • собственная система сборки, которая содержит в себе все инструменты, необходимые для кросс-компиляции приложений с помощью любого настольного Linux-дистрибутива.
Для работы это чудо программистской мысли требует всего ничего: права root и немного свободного пространства во внутренней памяти смартфона или на карте памяти. Причем первый вариант предпочтительнее, так как в случае с SD файлы будут свалены на виртуальный диск, работа с которым поддерживается далеко не всеми ядрами.


Начальная инициализация

На данный момент классическая версия BotBrew, использующая собственный репозиторий, позволяет устанавливать такой софт, как dcron, GCC, Git, SSH-сервер dropbear, консольный браузер Lynx, сканер безопасности Nmap, инструмент бэкапа rsync, редактор Vim, веб-сервер lighttpd, скриптовые языки Python и Ruby, а также несколько десятков других пакетов. Устанавливается это все, кстати говоря, в выделенный каталог во внутренней памяти смартфона/планшета и никак не захламляет основную систему. Другими словами, избавиться от BotBrew и всего, что ты установил, можно будет, просто удалив один каталог.

Ставим софт

Итак, как же использовать BotBrew для установки Linux-софта? Для начала нам понадобится пакет с самой программой. Он есть в Google Play (отмечу, что нужен BotBrew root, а не экспериментальный Bazil) и весит меньше мегабайта. После установки запускаем и нажимаем кнопку «Proceed» внизу экрана, чтобы софтина выкачала все необходимые для ее работы компоненты, такие как консольный менеджер пакетов, и другие утилиты (в терминах Debian Linux - bootstrap). Весят они всего несколько мегабайт, поэтому ждать придется недолго. По окончании установки BotBrew выведет на экран окно с официальной интернет-страницей проекта, которое можно смело закрывать.

Теперь на экране ты должен увидеть список пакетов, доступных к установке. Их довольно много, но графических приложений по описанным выше причинам ты среди них не найдешь. Зато есть разномастные серверы, компиляторы и интерпретаторы, так что всем, кто хочет серьезно «поиграться» со смартфоном, будет где развернуться. Для установки пакета достаточно тапнуть по его имени и на следующем экране, содержащем информацию о приложении, нажать кнопку «Install».

Танцы с бубнами

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

Wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | su
Если и это не помогло, можно попробовать удалить все установки («Remove BotBrew» в настройках) и затем попробовать запустить эту команду.

После этого пакет появится на вкладке «Installed», однако никакой кнопки «Run» или чего-то подобного ты не увидишь. Приложение придется самостоятельно запускать из консоли, что, впрочем, логично. Само приложение устанавливается внутрь каталоговой структуры /data/botbrew, в котором «эмулируется» реальное окружение Linux-дистрибутива с каталогами /etc, /usr и другими. А чтобы не мучить пользователей необходимостью набирать полный путь до команды, разработчики BotBrew предусмотрели одноименную команду-враппер. Чтобы с ее помощью запустить, например, установленный консольный браузер Lynx, следует набрать такую команду:

$ botbrew lynx http://xakep.ru
Как вариант - каталог /data/botbrew/bin можно добавить в переменную окружения PATH, но это придется делать после каждого запуска терминала:

$ export PATH="$PATH:/data/botbrew/bin"
С демонами и разными сетевыми сервисами, кстати, дела обстоят намного лучше. После старта демоны сразу будут запущены, а управлять их включением можно через графический интерфейс, доступный по нажатию на кнопку «Play» в нижней части интерфейса BotBrew. Некоторые приложения могут потребовать создания дополнительных пользователей и изменения их параметров, это можно сделать так же, как в обычной Linux-системе:

  1. Создание пользователя:
    $ botbrew adduser vasya
  2. Открытие пользователю доступа в интернет:
    $ botbrew addgroup vasya inet
  3. Переключение BotBrew на другого пользователя:
    $ botbrew su vasya
Обрати внимание, что все эти изменения будут касаться только виртуального окружения BotBrew и никак не отразятся на основной системе. Консоль можно использовать также для установки приложений в обход графического интерфейса. Для этого следует использовать консольный менеджер пакетов Opkg, синтаксис команд которого полностью совместим в apt-get:

$ botbrew opkg install dropbear
Обратная операция:

$ botbrew opkg remove dropbear
Чтобы оставаться «на острие прогресса», репозиторий BotBrew нужно время от времени обновлять, нажав на соответствующую кнопку в графическом интерфейсе (ее ни с чем не спутаешь). Новые версии пакетов будут отображаться на вкладке «Upgradable». Достаточно тапнуть по его имени и нажать «Upgrade».

BotBrew Basil

В маркете можно найти также приложение под названием BotBrew Basil, помеченное как экспериментальное. По сути, это все тот же BotBrew, но с одним весьма важным отличием. Вместо собственных репозиториев и менеджера пакетов Opkg он использует ARM-репозитории Debian Linux и менеджер пакетов apt-get. Это значит, что количество софта, которое можно установить с помощью «бразильской версии» приложения, намного больше. В десятки раз больше.

Кроме использования дебиановских репозиториев, Basil отличается также слегка измененным интерфейсом. Например, сразу после запуска он предлагает выбрать каталог установки. По умолчанию используется /data/botbrew-basil, что, на мой взгляд, вполне логично, однако ты можешь выбрать любой другой, в том числе на ext2-разделе карты памяти (FAT не подойдет).

Второе важное отличие - это возможность выбрать способ использования приложения, которая появляется сразу после нажатия «Proceed». Вариантов здесь четыре:

  1. Use BotBrew on the command line - по сути, аналог установки в стиле обычного BotBrew.
  2. Use the dpkg/APT system - установка вместе с apt-get и репозиториями Debian. Рекомендуемый вариант установки.
  3. Run Python programs - аналог первого варианта с автоматической установкой Python.
  4. Install a minimal Debian - минималистичная установка Debian.
Поясню второй и четвертый пункты. Первый BotBrew и первый пункт в этом списке делают не что иное, как установку минималистичной Linux-системы (состоящую всего из нескольких команд и библиотек), внутри которой как раз и происходит запуск Linux-софта. Однако apt-get, в отличие от минималистичного Opkg, требует более-менее полноценной установки Linux. Поэтому, выбрав второй пункт, ты получишь у себя на смартфоне этакий микро-Linux. А если мы можем установить микроверсию, почему бы не установить более-менее полноценный дистрибутив. Для этого и существует четвертый пункт.

После bootstrap’а BotBrew Basil на экране появится все тот же интерфейс управления установкой приложений, знакомый нам по классической версии приложения, а в системе появится команда botbrew2, с помощью которой можно запускать софт. Каких-то существенных отличий в управлении здесь нет, кроме разве что команды apt-get вместо opkg и возможности подключения дополнительных репозиториев (в том числе репозитория первого BotBrew) прямо через интерфейс установки приложений.

Берем дело в свои руки

Прекомпилированные приложения и репозитории с готовыми пакетами - это прекрасно, но что, если необходимого приложения нет среди доступных для установки? Ведь даже тот же BotBrew Basil, позволяющий подключать репозитории Debian с огромным количеством софта, в силу своего экспериментального характера заработает далеко не на каждом смартфоне.

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

Тем не менее мы можем воспользоваться наработками других людей, чтобы автоматизировать процесс сборки софта. Одно из наиболее развитых и интересных решений из этой области - набор скриптов SCRIPTSET , разработанный пользователем smitna с XDA Developers. Он позволяет буквально в пару команд собрать множество самых разных приложений, в числе которых htop, ImageMagick, iptables, ELinks, Screen, mc, node.js, Samba, strace, QEMU, Parted, SANE (его можно использовать для прямой печати на принтере с телефона!) и множество других. Скрипт сам выкачает кросс-компилятор, все необходимые зависимости и приложения, наложит патчи, где это необходимо, и сгенерирует готовый для распаковки на телефон архив.

SCRIPTSET работает только в Linux, но, если у тебя Windows, ты можешь установить Ubuntu в виртуальной машине. Далее следует открыть терминал и установить необходимые для сборки кросс-компилятора инструменты:

$ sudo apt-get install build-essential cmake autoconf2.13 scons
После этого можно получить сам SCRIPTSET и распаковать его:

$ cd ~ $ wget http://goo.gl/zvnom -O scriptset-2.6.zip $ unzip scriptset-2.6.zip
В результате распаковки мы получим… еще один архив: scriptset-2.6.tar.bz2. Но и это еще не все, архив запакован без традиционного для tar корневого каталога, поэтому его необходимо создать самостоятельно. И уже в него производить распаковку:

$ mkdir scriptset $ cd scriptset $ tar -xjf ../scriptset-2.6.tar.bz2

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

$ chmod 755 *.sh

# vi ~/scriptset/configuration.conf // Каталог установки приложений на смартфоне TARGET_SYSROOT="/data/sysroot" // Целевой процессор TARGET_MARCH="armv7-a" TARGET_MTUNE="cortex-a9" TARGET_MFPU="neon" TARGET_MFLOAT="softfp"

Этого будет достаточно для корректной сборки любого приложения; целевым процессором будет стандартный ARMv7 с дополнительным набором инструкций NEON. Такой установлен в любом смартфоне, выпущенном за последние три-четыре года. Каталог /data/sysroot будет использован для установки приложений на смартфоне, однако, как это ни странно, его придется также создать и на настольной машине:

$ sudo mkdir -p /data/sysroot $ sudo chown user:users /data/sysroot $ sudo chmod 777 /data/sysroot
Как объясняет автор скриптов, такое действие необходимо потому, что пути для ключевых каталогов в некоторые приложения вшиваются на этапе сборки. Поэтому, если бы мы собрали приложение, используя в качестве корневого текущий и любой другой каталог, оно бы просто не заработало на смартфоне из-за различия в путях. Я уверен, что корректнее было бы решить эту проблему с помощью chroot, но проще и быстрее создать нужный каталог, а по окончании работ - удалить его.

Далее мы должны указать список приложений, которые планируем собирать. Для этого открываем файл package_selection.conf и меняем no на yes в нужных опциях. Например, чтобы собрать bash, ImageMagick и Screen, нужно поменять три следующих строки:

# vi ~/scriptset/package_selection.conf BASH=yes IMAGEMAGICK=yes SCREEN=yes
Имей в виду, что настройки, находящиеся между строками # ALWAYS NEEDED, менять нельзя. Эти приложения и библиотеки нужны всегда, и без них другие приложения просто не собираются. Теперь можно скомпилировать приложения. Для этого достаточно запустить скрипт build.sh без аргументов:

$ ./build.sh
Если все необходимые пакеты были установлены и компилятор в ходе сборки не выдал никаких ошибок, в результате сборки в текущем каталоге появятся два архива: cs-sysroot.tar.bz2 и android-mysysroot.tar.bz2. Первый - это окружение, необходимое для запуска приложений, созданное кросс-компилятором, а второе - сам набор приложений. Оба этих архива необходимо скинуть на карту памяти смартфона, а затем, запустив на нем эмулятор терминала или подключившись по ADB, выполнить две команды:

$ tar xjf /sdcard/cs-sysroot.tar.bz2 $ tar xjf /sdcard/android-mysysroot.tar.bz2
В результате во внутренней памяти смартфона появится каталог /data/sysroot, в котором и будут размещены приложения. Запускать их следует из того же терминала, указывая полный путь. Например:

$ /data/sysroot/usr/bin/bash
Ну или после запуска терминала добавить /data/sysroot/usr/bin в PATH:

$ export PATH="$PATH:/data/sysroot/usr/bin"

Выводы

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


Впервые опубликовано в журнале «Хакер» от 08/2013.

Похожие статьи