Запуск 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.
X11 под андроид
Тем временем под андроид тихо и незаметно вышли иксы, которые не тормозят в отличие от хвнс, не требуют пришибать сервисы андроида в отличие от хорг и из коробки дружат с тачскрином в отличие от обоих вариантов.
Сообщение набирал с планшета под этими же иксами.
В остальном дефолтное lxde на дебиановом чруте.
Стопэ, только не говори мне, что теперь из любого говнойдофона можно сделать полноценный карманный ПК?
Это и раньше можно было сделать, просто сейчас это стало делать весьма удобно и относительно безглючно.
А теперь вброс: в то время как планшеты с iOS и Android — убогие игрушки, созданные для потребления контента, планшеты на Windows 8 несут в себе полноценную десктопную ОС, на которой можно запускать настоящие программы в настоящем оконном интерфейсе.
Такой же адский отклик как и без иксов в этом самом андроиде, а то и больше.
На видео гимп запущен по сети.
ssh -X, гимп с другого компа, 1366*768, работает быстрее. Собственно, на galaxy note и родная рисовалка не быстрее работает.
Это проблемы остальных устройств на андроиде, иос и планшетов на вин8, отклик очень долгий. пример
Возможно проблема в самом ёмкостном сенсоре, которому нужно на некоторое значительное количество точек подавать электрический сигнал и замерять за сколько этот сигнал затухает.
Вот только восьмёрка пришиблена, в ней и WM почикан, и важные компоненты вроде NTVDM, очередных анальных ограничений, которые надо костылями обходить, масса, а предыдущие версии вкатить нативно весьма проблематично — вот тебе и «полноценный» десктоп.
При активации поставляемого стайлуса емкостный екран не используется — это та же самая технология что и в вакомовских планшетах.
Рано скрин запостил, в процессе тыкания получилось что-то посимпатичнее.
А вщё это этот псих собрал множество sdl приложений для андроида: openttd, teeworlds, openarena, ufo, supertux, gemrb, milkytracker и эмуль амиги
Не беспокойтесь, за вами уже выехали.
Сейчас проверю, на переходнике был 1 порт, а хаб искать лень.
PolarFox ★★★★★ ( 06.01.14 14:00:57 MSK )
Последнее исправление: PolarFox 06.01.14 14:03:31 MSK (всего исправлений: 1)
У меня уже half-life в qemu работает
Давно ждал нормальных иксов под него.
Можно ли претендовать на xv и EGL?
И как ведёт себя gtkperf (если сравнить с настоящими иксами)?
Как я понимаю, о vdpau даже думать смысла нет.
А ведь с нативными иксами на sun4i и sun7i всё это есть.
Интересно, а что здесь с мультитачем?
Перемещение окон плавное?
Cannot unpack data files, please reinstall the app.
к сожалению. Мне одному так не повезло?
Как с просмотром видео? Тормозит или нет? Реально ли задействовать аппаратное ускорение?
Может даже кто знает как можно выкинуть андроид (ну ядро можно оставить) и заменить его линуксом на китайском медиацентре airtone at-g300? 🙂
А как qemu работает? Модули ядра нужно собирать или все из коробки? А если процессор аппаратную виртуалиазацию поддерживает (телефон lenovo k900)?
Cannot unpack data files, please reinstall the app.
к сожалению. Мне одному так не повезло?
Похоже пролетаю я со своим x86 процессором 🙁 Но судя по всему можно собрать из исходников.
Black_Roland ★★★★ ( 07.01.14 10:53:52 MSK )
Последнее исправление: Black_Roland 07.01.14 10:56:27 MSK (всего исправлений: 1)
Можно ли претендовать на xv и EGL?
Может, просто steam?
Хотя он уже есть.
Steam под андроид на андроиде? Все это для слабаков.
Тебе в opengl порисовать хочется?
UPD. Это самый быстрый способ получить доступ к линуксовым прогам на данный момент. Я там даже лису запустил 🙂 Все шустро работает, правда не удобно без мыши и клавы на 4.5 экране.
frozenix ★★★ ( 08.01.14 09:19:34 MSK )
Последнее исправление: frozenix 08.01.14 09:24:53 MSK (всего исправлений: 1)
планшеты на Windows 8 несут в себе полноценную десктопную ОС, на которой можно запускать настоящие программы
. которые там нахрен не нужны.
Не всем достаточно браузераIE и cut the rope.
черт, прикольно. а я только-только хотел заказывать вторую N900 про запас, чтоб была. ибо, аналогов ей не существует и всякое такое. а тут вон оно что получается. блин. наверно не нужен этот N900 теперь и можно смотреть в сторону андроидов, дя?
В некотором приближении. Всё таки тут в иксовых приложениях никакого хардварного ускорения нет.
Видёл на днях резиновую гибкую маленькую клавиатуру, она к этой прелести очень подойдёт 🙂
Не всем достаточно планшета. Не всем достаточно Win8. Со скуки можно, конечно, париться и с недокомпьютером.)
Отлично! Очень даже отлично! 🙂
Бессмысленно (лично для меня! за всех не говорю!), но круто! 🙂
Нет, теперь ты должен запустить эмулятор android в windows и замкнуть круг 🙂
Алсо, крысопанелька не узковата под пальцы?
Опять в сторону P780 склоняют.
несут в себе полноценную десктопную ОС
К сожалению, только после получения админских прав.
На обычной х86 восьмёрке джейлбрейки не нужны.
Прикольно, но красноглазненько. Всегда придерживался точки зрения, что все эти андроидодевайсы должны кушать минимум времени на настройку и использование. Другими словами, все должно идти искаробки или почти.
не требуют пришибать сервисы андроида в отличие от хорг
Не совсем понимаю. Я смотрю исходники сервера и вижу, что за основу X.org взят. Это по сути и есть Xorg. Или не так?
Можно запускать обычный Xorg из чрута с драйвером framebuffer, но для этого необходимо убить (или послать SIGSTOP) процессам surface flinger и android system, отчего устройство перестаёт реагировать на хардварные кнопки, переходить в спящий режим и т.д., пока не перезапустишь (или не пошлёшь SIGCONT).
Это убогое ШГ стоило трудов?
запускать настоящие программы в настоящем оконном интерфейсе.
Я до сих пор не пойму, зачем запускать на планшете какие-то «настоящие» программы без ориентированного под тач-экраны интерфейса и вообще. Для большинства ПО есть аналоги на планшетах.
Я смотрю исходники сервера и вижу, что за основу X.org взят. Это по сути и есть Xorg.
ориентированного под тач-экраны интерфейса
Ориентированность под тач — фикция и базворд, позволившая яблу создать устройство, не конкурирующее с макбуками.
Чтобы работать с тачем, приложение должно не иметь элементов управления радиусом меньше 3-6 мм и не должно полагаться на события вида mouse-move, т.е. перемещение курсора без одновременного нажатия.
Для большинства ПО есть аналоги на планшетах.
Даже банального текстового редактора с подсветкой синтаксиса под андроид не нашлось, не считая порт vim’а.