Запуск 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. Откройте приложение и наберите:



имя_пользователя@localhost

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


Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0