Что такое Linux Deploy?
Это приложение с открытым исходным кодом, предназначенное для автоматизации процесса установки, конфигурирования и запуска GNU/Linux дистрибутивов на платформе Android внутри контейнера chroot. Приложение создает образ диска на карте памяти или ином носителе, монтирует его и устанавливает туда выбранный Linux-дистрибутив. Поддерживается установка в файл, прямо на раздел карты памяти, в директорию с файловой системой ext2/ext3/ext4 и в оперативную память. Приложения из Linux-дистрибутива запускаются в chroot окружении, работают параллельно с основной системой и сопоставимы с ней по скорости. Все вносимые изменения на устройстве обратимы, т.е. приложение и созданные им компоненты можно полностью удалить. Установка Linux-дистрибутива осуществляется по сети с официальных зеркал в интернете. Поскольку работа Linux Deploy базируется на системном вызове ядра Linux, то в роли «гостевых» систем могут выступать только дистрибутивы Linux. Через интерфейс программы можно управлять процессом установки Linux-дистрибутива, а после установки можно запускать и останавливать сервисы установленной системы (есть поддержка запуска собственных сценариев). Процесс установки отображается в виде текстовых отчетов в главном окне приложения. Во время установки программа сама настраивает рабочее окружение, которое включает в себя базовую систему, сервер SSH, сервер VNC и графическую среду на выбор. Также через интерфейс программы можно управлять параметрами серверов SSH и VNC. Установка Linux-дистрибутива занимает около 30 минут. Рекомендованный минимальный размер образа диска без графического интерфейса — 512 МБ, а с графическим интерфейсом — 1024 МБ (для LXDE). После начальной установки пароль для доступа по SSH и VNC назначается как «changeme», который можно сменить стандартными средствами дистрибутива, либо через параметры приложения.
Характеристики:
Поддерживаемые дистрибутивы: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, Slackware, RootFS (tgz, tbz2, txz)
Тип установки: файл, раздел, оперативная память, директория
Поддерживаемые файловые системы: ext2, ext3, ext4
Поддерживаемые архитектуры: ARM, ARM64, x86, x86_64, режим эмуляции архитектуры (ARM x86)
Способы подключения к контейнеру: CLI, SSH, VNC, X-сервер, фреймбуфер
Интерфейсы управления (CLI): Android-терминал (или adb), telnet, веб-интерфейс (терминал через браузер)
Окружение рабочего стола: XTerm, LXDE, Xfce, MATE, другое (ручная настройка)
Поддерживаемые языки: мультиязычный интерфейс
Эта программа поставляется БЕЗ ВСЯКИХ ГАРАНТИЙ, а автор не несет ответственности за любые возможные последствия ее использования. Это свободное программное обеспечение, и вы можете распространять его согласно правилам лицензии GPLv3.
Что нужно?
X-сервер (если хотите использовать графического вывода с Linux десктопа или запуска графических Linux приложений):
XServer XSDL (https://4pda.ru/forum/index.php?showtopic=531636)
VX ConnectBot (https://play.google.com/store/apps/details?id=sk.vx.connectbot)
Jump Desktop (https://4pda.ru/forum/index.php?showtopic=302236)
VNC Viewer (https://4pda.ru/forum/index.php?showtopic=250526)
Запуск Linux на Android
Полноценная операционная система Linux на Android смартфоне может быть очень полезной. Во-первых, можно запустить любую необходимую программу linux, или даже сервис. Вы можете запустить веб-сервер, сервер баз данных или все что захотите. Во-вторых, если у вас планшет с большим расширением экрана, то с помощью клавиатуры и мыши его можно превратить в полноценную рабочую станцию. А учитывая, что мы будем запускать Linux без эмулятора, то получим отличную производительность для игр и просмотра видео.
Операционная система Android основана на ядре Linux, поэтому запуск Linux на Android смартфоне возможен, и даже не так сложен как кажется. Полностью заменить Android на Linux не получится из-за особенностей ARM загрузчика и большого разнообразия драйверов устройств, которые поддерживаются только ядрами производителей. Можно разве что установить специально адаптированную Ubuntu Phone, но это уже совсем другая история. Запускать Linux в эмуляторе мы тоже не будем, мы возьмем ARM версию дистрибутива Linux и запустим его в chroot контейнере уже работающего ядра Android.
Нам понадобиться
- Смартфон или планшет на базе ОС Android с ROOT правами;
- Программа автоматического развертывания Linux — Linux Deploy;
- BusyBox;
- SSH клиент — ConnectBot;
- X Сервер для Android — XSDL Server;
Весь перечисленный софт можно скачать и установить с Google Play или форума 4pda. Далее, я буду предполагать что на вашем устройстве уже есть Root права. Начнем запуск linux на android.
Подготовка смартфона
Сначала устанавливаем BusyBox. Зайдите на страницу программы в Google Play и нажмите установить. Когда программа установится, нужно ее запустить и еще раз нажать кнопку install для распаковки всех необходимых компонентов:
Остальные программы устанавливаются стандартным способом из Google Play.
Развертывание Linux на Android
Устанавливать Linux будем с помощью приложения Linux Deploy. Запустите приложение, откройте главное меню программы и выберите пункт Настройки:
Здесь желательно поставить галочки не отключать экран и не отключать wifi, чтобы эти функции работали во пока вы не выключите Linux:
Затем пролистайте вниз и коснитесь пункта обновить окружение. Программе необходимо скачать несколько мегабайт окружения для нормальной работы:
Больше ничего в настройках менять не нужно, Переходим к установке Linux. В главном окне коснитесь значка с логотипом загрузки:
Перед тем как нажать кнопку установить необходимо настроить параметры будущей системы, сначала выберите дистрибутив и версию системы, например, Ubuntu Wily, архитектуру, можно оставить как есть armhf:
Дальше выбираем путь образа диска куда будет установлена система, мы будем устанавливать способ в файл. По умолчанию размер образа — 512 Мб, рекомендую взять с запасом если планируете устанавливать графическую оболочку и дополнительные программы. Для LXDE, XFCE понадобиться еще 500 Мб, а для KDE и Gnome — 1,3 Гигабайт:
Потом меняем имя пользователя и пароль, локаль выбираем ru_RU.UTF-8 для поддержки русского языка:
Выбираем окружение рабочего стола если нужно и дополнительные компоненты. Окружение у нас будет LXDE, дополнительные компоненты оставляем только окружение рабочего стола и ssh сервер. Х сервер нам не нужен, так как будем использовать XSDL Server.
Потом ставим галочку напротив GUI:
Графическая подсистема — Х сервер:
В параметрах GUI Номер дисплея — 0, Адрес Х-сервера — ваш адрес в Wifi сети или 127.0.0.1. Галочку XSDL Server не ставим, так как при каждом запуске Х сервер запускается с новым номером дисплея, таким образом, если с первого раза система не запустится номер дисплея уже будет не соответствовать тому что мы указали в настройках и нужно будет перезагружать устройство:
Дальше можете возвращаться в самый верх и нажимать кнопку установить. Установка linux на android займет около полчаса.
Запуск Linux
Осталось запустить linux на смартфоне. Сначала запускаем XSDL Server, выбираем расширение экрана:
Переходим в Linux Deploy и нажимаем кнопку старт:
Возвращаемся в XSDL Server и ждем пока загрузится оболочка:
Вот и все, теперь можно работать в установленной системе, устанавливать приложения, смотреть видео и даже попытаться играть в компьютерные игры. Запуск linux программ на android — не такое уж сложное дело.
Небольшой гайд по управлению XSDL сервер:
- Чтобы открыть виртуальную клавиатуру нажмите кнопку назад.
- Для клика правой кнопкой мыши коснитесь двумя пальцами экрана.
- Отмена последнего действия — кнопка меню.
Доступ SSH доступ к Linux
Для доступа по SSH к установленной системе мы скачали ConnectBot. Откройте приложение и наберите:
Затем введите пароль, выбранный при установке системы, дальше вы окажетесь в оболочке Linux:
Решение проблем
Если во время создания образа возникает ошибка:
Making new disk image (4095 MB) . fail
dd: opening `/storage/emulated/0/linux.img’: No such file or directory
Замените в пути 0 на legacy.
dd: opening `/storage/sdcard0/linux.img’: Read-only file system
Это значит что в вашей системе используются пространства имен для различных пользователей, то есть флешка примонтирована для пользователя, но не для root’a. Поэтому откройте SuperSU и в настройках снимите галочку Создать поименное разделение пространств:
Выводы
Вот и все. вы смогли успешно запустить Linux на смартфоне. Эта система не настолько эффективна как на персональном компьютере, но тоже сильно расширяет возможности Android смартфона. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Linux Deploy 2.6.0
Linux Deploy — это приложение с открытым исходным кодом для простой и быстрой установки операционной системы (ОС) GNU/Linux на Android устройство.
Приложение создает образ диска на флеш-карте, монтирует его и устанавливает туда дистрибутив ОС. Также поддерживается установка ОС прямо на раздел карты или в каталог раздела с файловой системой ext2/ext3/ext4. Приложения из новой системы запускаются в chroot окружении параллельно со штатной работой платформы Android. Все вносимые изменения на устройстве обратимы, т.е. приложение и созданные им компоненты можно полностью удалить. Установка дистрибутива ОС осуществляется по сети с официальных зеркал в Интернете. Для работы приложению требуются привилегии суперпользователя (ROOT).
Интерфейс программы поддерживает английский и русский языки. Через интерфейс программы можно управлять процессом установки ОС, а после установки можно запускать и останавливать службы новой системы (есть поддержка запуска своих сценариев). Процесс установки отображается в виде текстовых отчетов в главном окне приложения. Во время установки программа сама настраивает рабочее окружение, которое включает в себя базовую систему, сервер SSH, сервер VNC и графическую среду на выбор. Также через интерфейс программы можно управлять параметрами сервера SSH и VNC.
Установка новой ОС занимает около 30 минут. Рекомендованный минимальный размер образа диска без графического интерфейса — 512 МБ, а с графическим интерфейсом — 1024 МБ (для LXDE). После начальной установки пароль для доступа по SSH и VNC назначается как «changeme», который можно сменить стандартными средствами ОС.
Характеристики:
- Поддерживаемые дистрибутивы: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, Gentoo, openSUSE, Slackware, RootFS (tgz, tbz2, txz)
- Тип установки: файл, раздел, оперативная память, директория
- Поддерживаемые файловые системы: ext2, ext3, ext4
- Поддерживаемые архитектуры: ARM, ARM64, x86, x86_64, режим эмуляции архитектуры (ARM x86)
- Интерфейс управления: Android-терминал, SSH, VNC, X-сервер, фреймбуфер
- Окружение рабочего стола: XTerm, LXDE, Xfce, GNOME, KDE, другое (ручная настройка)
- Поддерживаемые языки: мультиязычный интерфейс
Эта программа поставляется БЕЗ ВСЯКИХ ГАРАНТИЙ, а автор не несет ответственности за любые возможные последствия ее использования. Это свободное программное обеспечение, и вы можете распространять его согласно правилам лицензии GPLv3.