Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 8.47 KB

README.ru.md

File metadata and controls

55 lines (41 loc) · 8.47 KB

Linux Deploy

Copyright (C) 2012-2017 Антон Скшидлевский, GPLv3

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

Характеристики:

  • Поддерживаемые дистрибутивы: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, openSUSE, Slackware, RootFS (tgz, tbz2, txz)
  • Тип установки: файл образа, директория, раздел диска, оперативная память
  • Поддерживаемые файловые системы: ext2, ext3, ext4
  • Поддерживаемые архитектуры: ARM, ARM64, x86, x86_64, режим эмуляции (ARM ~ x86)
  • Интерфейс управления: CLI, SSH, VNC, X11, фрейм-буфер
  • Окружение рабочего стола: XTerm, LXDE, Xfce, MATE, другое (ручная настройка)
  • Поддерживаемые языки: мультиязычный интерфейс

Установка

Вы можете установить это приложение из:

Известные проблемы и их решение

Не запускается обновление окружения или установка, в режиме отладки появляются ошибки "Permission denied", "Socket operation on non-socket" или другие.

Установить совместимый BusyBox в /system/xbin, добавить в "Настройки -> PATH" ("Settings -> PATH variable") путь /system/xbin, выполнить обновление окружения "Настройки -> Обновить окружение" ("Settings -> Update ENV"). Перед обновлением окружения желательно перезагрузить устройство. Затем в параметрах контейнера выбрать "Параметры -> Файловая система -> Автоопределение" ("Properties -> File system -> Auto") и "Параметры -> Размер образа (МБ) -> 2000" ("Propetries -> Image size (MB) -> 2000"), т.к. busybox mke2fs не поддерживает параметр "-t" для указания типа файловой системы и не поддерживает образы больше 2 ГБ. После этого можно запускать новую установку "Меню - Установить" ("Menu -> Install").

Не видит карту памяти, при установке в режиме отладки появляется ошибка "Read-only file system", создание образа на карте памяти заканчивается ошибкой.

Такое может случиться, если в системе используется разделение пространства имен утилитой SuperSU. В этом случае карта памяти смонтирована под каким-то пользователем, а при переходе в root смонтированные устройства уже не видны. В утилите SuperSU есть опция, которая может помочь решить данную проблему. Для этого нужно снять флаг "SuperSU -> Настройки -> Создать поименное разделение пространств".

Ошибка при установке приложения через Google Play: "Неизвестный код ошибки во время установки приложения 24".

Нужно удалить с устройства остаточные файлы приложения, если оно уже было до этого установлено. Для этого нужно удалить каталог: /data/data/ru.meefik.linuxdeploy

Производительность

Скорость чтения/записи SD карты (10 класс) на Android (Samsung Galaxy S II) для файловых систем vfat, ext2, ext4:

  • vfat: скорость чтения 14.1 МБ/с; скорость записи 12.0 МБ/с
  • ext2: скорость чтения 14.9 МБ/с; скорость записи 3.9 МБ/с
  • ext4: скорость чтения 14.9 МБ/с; скорость записи 16.6 МБ/с
  • ext2 (loop): скорость чтения 17.0 МБ/с; скорость записи 7.4 МБ/с
  • ext4 (loop): скорость чтения 17.2 МБ/с; скорость записи 8.8 МБ/с

Время установки и занимаемое место на диске (Debian wheezy/armhf на Samsung Galaxy S II):

  • Без графики ~ 0:12 / 260 МБ
  • XTerm ~ 0:14 / 290 МБ
  • LXDE ~ 0:19 / 450 МБ
  • XFCE ~ 0:20 / 495 МБ
  • GNOME ~ 0:55 / 1.3 ГБ
  • KDE ~ 1:20 / 1.3 ГБ

Исходный код

Исходный код доступен по адресу: https://github.com/meefik/linuxdeploy. Проект создан в Android Studio.

Поддержать проект

http://meefik.github.io/donate