Многие владельцы Android устройств знают, что операционная система Android основана на ядре Linux, но при этом она не позволяет запускать обычные Linux приложения. И правда, согласитесь, было бы очень неплохо иметь возможность запуска на Android планшете Open Office, Firefox, Thunderbird и другие Linux программы.

Существует несколько способов загрузки Linux на Android планшете, однако они все довольно трудоемки и сложны для понимания обычным, непродвинутым пользователям. Однако, благодаря разработчику, zacthespack, который создал приложение Ubuntu Installer, появилась возможность довольно простого запуска Ubuntu прямо из операционной системы Android.
Вы сможете запустить на своем планшете или телефоне два варианта сборки Ubuntu на выбор: минимальную, которая содержит лишь самые необходимые приложения и максимальную, в которой имеется почти все, что необходимо для комфортной работы в Linux: Firefox, Thunderbird, Open Office, графический редактор GIMP, Transmission BitTorrent клиент, средства для разработки C и C++, Java JDK, Python, Emacs Text Editor и многое другое.
Как запустить приложения для android в linux #1 — Genymotion
Для запуска Linux вам понадобятся root права, карта памяти с 2.5 или 3.5 гигабайтами свободного места (в зависимости от варианта сборки), процессор с частотой 1 ГГц, ядро с поддержкой loop устройств (практически все кастомные прошивки имеют такое ядро) и поддержка файловой системы Ext2.
Сам процесс запуска Linux с помощью Ubuntu Installer, которая по своей сути является интерактивной инструкцией очень прост, и мы даже можем обойтись без нее, проделав все необходимые процедуры вручную. Для этого вам нужно проделать всего лишь четыре шага:
1. Включить в настройках устройства в разделе Приложения -> Разработка опцию «Отладка по USB». Нажимаем кнопку «Next»
2. На следующем этапе вам нужно:
Скачать и распаковать на карту памяти, в папку ubuntu
— Полную сборку Linux, которая имеет размер 1.5 ГБ и занимает на карте памяти 3.5 ГБ после распаковки или
— Минимальную сборку, которая имеет размер 500 МБ и занимает на карте памяти 2.5 ГБ после распаковки.
3. Запустите эмулятор терминала, предоставьте ему root права (при первом запуске) и введите в нем следующие команды:
su
cd /sdcard/ubuntu
sh ubuntu.sh
После этогого введите по запросу:
— Разрешение экрана (например 800х480, 1024х600 и т.п),
— Тип среды рабочего стола (только при запуске максимальной версии): введите 1 – для запуска LXDE и 2 для запуска Gnome
4. Через минуту-две на экране должно появиться сообщение [email protected]:/# которое свидетельствует о том, что Linux успешно запущен, и после него появится экран приложения VNC viewer, где вам нужно будет указать имя пользователя (Nickname:) — ubuntu, пароль (Password:) — ubuntu, IP адрес (Address:) – localhost и порт 5900, после чего будет запущена среда рабочего стола Ubuntu
Последние два этапов (3 и 4) запуска Ubuntu можно увидеть на следующем видео (смотреть с 14 секунды):
Поздравляем, теперь вы умеете запускать Ubuntu на своем Android планшете или телефоне! Как вы уже, наверное, догадались, в дальнейшем запускать Ubuntu нужно начиная с пункта 3 вышеизложенной инструкции.
Похожие материалы:
- android планшет
- инструкции
Источник: www.4tablet-pc.net
Как запустить Linux на Android с помощью Linux Deploy
Вы когда-нибудь хотели запустить Linux на Android? Оказывается, можно с помощью приложения под названием Linux Deploy. Прежде чем вы начнете волноваться, вам нужно кое-что узнать. Приложение будет работать только в том случае, если на устройстве Android, на котором оно установлено, есть root-доступ.
Это связано с тем, что Linux Deploy запускает всю операционную систему Linux полностью в файловой системе Android. Без таких модификаций очень сложно запустить ядро Linux и среду Chroot.
Чтобы получить root-права, найдите номер модели, а также номер версии конкретной операционной системы на вашем телефоне Android. Имея в виду эту информацию, перейдите к xda-developers.com. Используйте сайт и ищите на форумах. Это сообщество идеально подходит для поиска информации о получении root-прав на вашем устройстве. Фактически, на XDA есть множество подфорумов по отдельным устройствам.
Если ваша текущая версия Android не позволяет легко получить root, попробуйте LineageOS и установите ее вместо этого. Это полная замена вашей текущей версии Android на основе технологий с открытым исходным кодом.
Хорошая причина рассмотреть возможность использования Lineage: некоторые производители устройств блокируют версию Android, которую они поставляют, и делают практически невозможным получение root-доступа. В таком случае лучше всего заменить эту версию чем-то другим. ОС Lineage имеет встроенный root-доступ и поддерживает множество различных устройств Android. Узнайте больше о Lineage OS здесь!
Получение BusyBox
Linux Deploy помещает в Android полнофункциональную операционную систему Linux. Именно поэтому для самого приложения требуются некоторые Linux-совместимые инструменты. В основном инструментарий BusyBox. Есть много приложений, которые могут помочь пользователям Android заставить BusyBox работать, но это, безусловно, самое надежное приложение. Загрузите его на свое устройство Android и откройте приложение.
Black Ops III для Linux

Когда приложение откроется впервые, вы пройдете через процесс установки BusyBox. Нажмите кнопку «установить», чтобы получить BusyBox. Процесс займет от пары секунд до нескольких минут (в зависимости от скорости вашего устройства). Когда процесс завершится, закройте приложение.
VNC
Последнее, что пользователям нужно установить перед развертыванием Linux, — это программа просмотра VNC. Это связано с тем, что хотя Linux Deploy устанавливает всю операционную систему внутри Android, на самом деле он не позволяет пользователю напрямую обращаться к ней. Это из-за того, как построен Android.
Хороший обходной путь — установить приложение VNC Viewer, чтобы получить доступ к графическому интерфейсу для вашей установки Linux. Существует множество различных программ просмотра VNC для Android, поэтому вы можете установить любую из них. В этом руководстве мы будем использовать VNC Viewer.
4 лучших альтернативы Libre Office для Linux
Развертывание Linux с помощью Linux Deploy
Когда все требования выполнены (получение root-доступа, установка BusyBox и установка программы просмотра VNC), можно начинать установку Linux. Начать с загрузка приложения Linux Deploy на ваше устройство. Когда приложение будет установлено, откройте его. Щелкните значок с тремя точками вверху справа. Прокрутите вниз и включите «VNC». Кроме того, поищите имя пользователя и пароль по умолчанию.
Linux Deploy автоматически создает его. Запишите их и вернитесь на главный экран.

Изначально при развертывании Linux будет настроена среда Debian Linux. Этого достаточно для большинства пользователей. Если вам абсолютно необходимо изменить его на что-то другое, зайдите в настройки.
Чтобы начать процесс установки, нажмите кнопку «Пуск». Отсюда приложение вступит во владение. Он выполнит установку Debian Linux прямо на ваш телефон или планшет Android! Устройтесь поудобнее, прочтите подсказку и ждите!
Доступ к установке Linux
Linux установлен. Пришло время использовать его. Для этого откройте развертывание Linux и нажмите кнопку воспроизведения (если она еще не запущена). Откройте приложение VNC, затем щелкните зеленый значок плюса, чтобы создать новое соединение. В диспетчере соединений есть два поля: Адрес и Имя.
Как управлять Netflix с помощью Google Assistant на Android

В разделе «Адрес» введите «localhost». В разделе имени введите то, что вы хотите назвать соединением. Заполнение информации создает новое соединение и вызывает экран соединения. Внизу экрана нажмите большую кнопку «Подключиться».
Отсюда инструмент VNC запросит пароль. Введите пароль, который вы записали ранее, чтобы получить доступ к вашей установке Linux.
Вывод
Этот инструмент буквально позволяет полноценной установке Linux работать на любом устройстве Android с рутированным доступом. Это невероятно. Внутри программы просмотра пользователи имеют полный и полный контроль над установкой Linux. Приложение VNC, а также сервер VNC, запускаемый из Linux, установленного на Android, позволяет устанавливать программы, использовать мышь и клавиатуру, а также управлять событиями касания, полным, чистым звуком и многим другим!

Возможность запускать Linux на Android меняет правила игры. Так долго поклонники Linux хотели получить опыт портативных устройств (телефон / планшет) на своей любимой платформе с открытым исходным кодом. Учитывая тот факт, что проекты вроде Firefox OS и Ubuntu Touch замедлились, пользователям придется довольствоваться такими инструментами, как Linux Deploy.
Источник: toadmin.ru
Устанавливаем Linux-программы на смартфон под управлением Android

Многие владельцы Android-фонов испытывают трудности с запуском настоящего Linux-софта на своих девайсах. По всем законам он вроде должен здесь работать, да вот только для его установки почему-то нужны права root, сам он распространяется в каких-то самодельных инсталляторах, а выбор программ сильно ограничен. Эта статья предложит ответ на вопрос, почему так получилось, и подскажет решение — удобный способ установки и запуска почти любого Linux-софта в Android.
Linux или не Linux?
Как известно, андроид основан на ядре Linux и включает в себя набор стандартных библиотек и утилит командной строки, свойственных обычному Linux-дистрибутиву. Однако запуск классического Linux-софта здесь сильно затруднен из-за множества причин, в числе которых несовместимость ABI, отсутствие менеджера пакетов, собственная система безопасности и отсутствие многих компонентов стандартной Linux-системы.
Так, несмотря на наличие в Android стандартной библиотеки libc и других, их реализация в большинстве случаев несовместима с библиотеками от проекта GNU и сильно урезана по функционалу. По этой причине Linux-софт нужно как минимум пересобирать специально под Android и ARM-процессор, а во многих случаях еще и патчить, добавляя функционал, отсутствующий в библиотеках.
BotBrew: список поддерживаемых устройств
BotBrew был протестирован на следующих устройствах: Barnes

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

Список установленных приложений
На данный момент классическая версия 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, но это придется делать после каждого запуска терминала:

Сайт журнала в консольном браузере Lynx

Процесс установки пакета
$ export PATH=»$PATH:/data/botbrew/bin»
С демонами и разными сетевыми сервисами, кстати, дела обстоят намного лучше. После старта демоны сразу будут запущены, а управлять их включением можно через графический интерфейс, доступный по нажатию на кнопку «Play» в нижней части интерфейса BotBrew. Некоторые приложения могут потребовать создания дополнительных пользователей и изменения их параметров, это можно сделать так же, как в обычной Linux-системе:
- Создание пользователя:
$ botbrew adduser vasya - Открытие пользователю доступа в интернет:
$ botbrew addgroup vasya inet - Переключение BotBrew на другого пользователя:
$ botbrew su vasya
$ botbrew opkg install dropbear
$ botbrew opkg remove dropbear
Чтобы оставаться «на острие прогресса», репозиторий BotBrew нужно время от времени обновлять, нажав на соответствующую кнопку в графическом интерфейсе (ее ни с чем не спутаешь). Новые версии пакетов будут отображаться на вкладке «Upgradable». Достаточно тапнуть по его имени и нажать «Upgrade».

Управлять сервисами в BotBrew действительно просто
BotBrew Basil
В маркете можно найти также приложение под названием BotBrew Basil, помеченное как экспериментальное. По сути, это все тот же BotBrew, но с одним весьма важным отличием. Вместо собственных репозиториев и менеджера пакетов Opkg он использует ARM-репозитории Debian Linux и менеджер пакетов apt-get. Это значит, что количество софта, которое можно установить с помощью «бразильской версии» приложения, намного больше. В десятки раз больше.
Кроме использования дебиановских репозиториев, Basil отличается также слегка измененным интерфейсом. Например, сразу после запуска он предлагает выбрать каталог установки. По умолчанию используется /data/botbrew-basil, что, на мой взгляд, вполне логично, однако ты можешь выбрать любой другой, в том числе на ext2-разделе карты памяти (FAT не подойдет).
Второе важное отличие — это возможность выбрать способ использования приложения, которая появляется сразу после нажатия «Proceed». Вариантов здесь четыре:
- Use BotBrew on the command line — по сути, аналог установки в стиле обычного BotBrew.
- Use the dpkg/APT system — установка вместе с apt-get и репозиториями Debian. Рекомендуемый вариант установки.
- Run Python programs — аналог первого варианта с автоматической установкой Python.
- Install a minimal Debian — минималистичная установка Debian.
После bootstrap’а BotBrew Basil на экране появится все тот же интерфейс управления установкой приложений, знакомый нам по классической версии приложения, а в системе появится команда botbrew2, с помощью которой можно запускать софт. Каких-то существенных отличий в управлении здесь нет, кроме разве что команды apt-get вместо opkg и возможности подключения дополнительных репозиториев (в том числе репозитория первого BotBrew) прямо через интерфейс установки приложений.

BotBrew Basil предлагает несколько вариантов установки
Берем дело в свои руки
Прекомпилированные приложения и репозитории с готовыми пакетами — это прекрасно, но что, если необходимого приложения нет среди доступных для установки? Ведь даже тот же 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

Запуск сборки приложений
Далее открываем файл configuration.conf на редактирование и меняем в нем следующие строки:
# 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.
- Бумажный вариант
- «Хакер» на iOS/iPad
- «Хакер» на Android
Источник: habr.com