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", который можно сменить стандартными средствами дистрибутива, либо через параметры приложения.
Характеристики :
Эта программа поставляется БЕЗ ВСЯКИХ ГАРАНТИЙ, а автор не несет ответственности за любые возможные последствия ее использования. Это свободное программное обеспечение, и вы можете распространять его согласно правилам лицензии GPLv3.
После обновления программы автоматически выполняется обновление рабочего окружения. При необходимости обновление можно запустить вручную: "Настройки
-> Обновить окружение
" ("Settings
-> Update ENV
"). Обновления программы (окружения) не влияют на уже установленную GNU/Linux систему, т.е. установленная система из-за обновления не может повредиться или каким-то образом измениться.
Для изменения настроек уже установленной системы или для возвращения настроек к исходным нужно выполнить конфигурацию: "Меню
-> Конфигурировать
" ("Menu
-> Configure
"). Если в параметрах выбраны какие-то компоненты, то при конфигурации будет осуществляться установка пакетов для выбранных компонентов.
Перед удалением программы нужно остановить работу GNU/Linux дистрибутива кнопкой СТОП (STOP) , если остановить дистрибутив не удается, то рекомендуется перезагрузить устройство. После этого выполнить команду "Настройки -> Удалить окружение " ("Settings -> Remove ENV "). После этого можно удалить приложение. Удалять приложение с неразмонтированным контейнером опасно, при удалении приложения версии ниже 1.5.3 также удаляются все данные со всех смонтированных в контейнер разделов! Также могут остаться файлы.img, которые создаются на карте памяти при установке дистрибутивов, такие файлы могут быть удалены вручную через любой файловый менеджер .
Скачать приложение для установки Linux на Андроид - Linux Deploy на Андроид вы можете по ссылке ниже.
Доброго времени суток всем.
Моя история начинается с прочтения данной статьи , после которой я и решился приобрести чудо китайского планшетостроения: superpad. Данный планшет брался как игрушка для «поковырять немного», по совместительству, читалка, игралка на пары и смотрелка в долгую дорогу… Сразу отмечу, что у меня два usb винчестера на 500 гб и 1тб, на которых и хранится все самое важное для веселой жизни, и разбиты они в ntfs и ext4. И, естественно, планшет их не видит.
Вот мой доброволец
Вот и первая причина поковыряться. После просмотра 200 страниц форума на xda-developers.com очертились определенные
На данном этапе все попытки вскрытия данного планшета отложились в долгий ящик. До славного времени для студента – сессии. А так как на сессии студенты делают абсолютно все, лишь бы не по предмету, то веселые ночные посиделки в интернете на заведомо буржуйских сайтах возобновились. И пришла гениальная идея поставить на данный планшет православный linux, в моем случае – ubuntu.
Что из этого вышло, смотрим ниже.
Понятно, что просто так взять и установить не получится… ну что же, где наша не пропадала…
Нам понадобятся:
1. Power on and boot ROM code execution | Power on and boot ROM code execution |
2. The boot loader | The boot loader |
3. The Linux kernel | The Linux kernel |
4. The init process | The init process |
5. Zygote and Dalvik | console(bash, zsh...) / wm(kde, gnome...) |
6. The system server | Boot completed |
7. Boot completed |
Как видно, отличия начинаются с этапа выполнения init.
Его-то и проще всего поменять.
Честно напишу, думал, что можно использовать только адроидовский инит и что он намертво прикручен к ядру. И даже получив пример рабочего ramdiskа от другого планшета , не думал, что он заведется…
#!/bin/sh echo Starting from initram image. Echo Waiting for SD-CARD wake up... sleep 3 echo "Mounting new rootfs" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo Hold on, switching root... exec switch_root /newroot /sbin/init echo hrm, have a shell instead exec /bin/ash
Остается прошить ramdisk в память (я использовал burntool под xp) и - вуаля, этап загрузки. Да, прошивал я вместо recovery, так что для запуска Linux приходится зажимать клавиши при старте.
Так, этап загрузки пройден и стоит запастись терпением, так как консоль не подает признаков жизни, а все грузится достаточно медлительно.
Большинство пользователей Андроид знают, эта платформа работает на базе операционной системы Linux, но, несмотря на это, многие её программы на недоступны. Именно поэтому отличный выход - поставить на планшет оболочку Linux под названием Ubuntu. Она запускается через Emulator и работает параллельно с Андроид, предоставляя обширный выбор приложений, которые обычно не грузятся на устройствах с этой операционной системой.
Обе операционные системы могут работать параллельно
Мы рассмотрим, как установить её самостоятельно без помощи специальных приложений, с использованием только эмулятора и программы VNC Viewer.
Какие параметры требуются для этой оболочки? Нам нужны root-права, свободная память в объёме 2,5–3,5 Гб. Для требуется минимальная тактовая частота в размере от 1 ГГц, необходима поддержка файловой системы Ext2. В качестве средств, которые способствуют установке, нам необходимы несколько программ, включая эмулятор - он пригодится для дальнейшего запуска ПО.
Что такое root-права, и как их получить? Они представляют собой права администратора. В этом случае наличие таких прав позволит менять системные параметры планшета, поэтому без них поставить Ubuntu for Android не выйдет.
Получить эти права вы можете через различные приложения, большое количество которых вы найдёте в Play Market. Скачайте одно из них, активируйте права администратора и после этого переходите к непосредственной установке Ubuntu на планшет.
Для этого нужно сделать следующее:
Примечание. Прежде чем вводить команды, при первичном запуске эмулятор потребует , и, конечно же, вам нужно дать согласие на это действие.
Многие владельцы Android-фонов испытывают трудности с запуском настоящего Linux-софта на своих девайсах. По всем законам он вроде должен здесь работать, да вот только для его установки почему-то нужны права root, сам он распространяется в каких-то самодельных инсталляторах, а выбор программ сильно ограничен. Эта статья предложит ответ на вопрос, почему так получилось, и подскажет решение - удобный способ установки и запуска почти любого Linux-софта в Android.
Так, несмотря на наличие в Android стандартной библиотеки libc и других, их реализация в большинстве случаев несовместима с библиотеками от проекта GNU и сильно урезана по функционалу. По этой причине Linux-софт нужно как минимум пересобирать специально под Android и ARM-процессор, а во многих случаях еще и патчить, добавляя функционал, отсутствующий в библиотеках.
BotBrew: список поддерживаемых устройств
BotBrew был протестирован на следующих устройствах: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, Samsung Galaxy Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony Ericsson Xperia X8, Asus EeePad Transformer TF101.
Система безопасности Android, обрезающая приложения в привилегиях по полной программе и не позволяющая им выходить за рамки собственного каталога, также серьезно препятствует работе стандартного Linux-софта. Поэтому часто требуется получать права root, которые эти ограничения снимают. Отсутствие менеджера пакетов, который бы позволял устанавливать обычный Linux-софт, а не только Java-приложения, вынуждает разработчиков писать приложения, нужные только для того, чтобы устанавливать другие приложения. Так появляются все эти кастомные инсталляторы.
Ну и довершает картину то, что в Android просто нет многих стандартных компонентов Linux, включая, например, даже такие неотъемлемые, как графический стек X Window или библиотека GTK+. Кое-какие попытки все это сюда принести, конечно, предпринимаются, но дальше полурабочих альфа-версий дело не двигается.
Тем не менее возможность перенести в Android функционал полноценной Linux-системы слишком уж заманчивая идея, чтобы энтузиасты не попробовали решить возникающие в процессе проблемы и дать нам полноценное универсальное решение. Самый очевидный и простой путь - это запустить «виртуализированную» версию полноценного Linux-дистрибутива, о чем мы уже подробно писали. Способ этот интересный, но страдает от проблемы разделения системы на две области, каждая из которых работает независимо от другой.
Гораздо более интересным выглядит проект BotBrew - в его рамках разрабатывается вполне обычный для Linux-систем менеджер пакетов и репозиторий, с помощью которого можно устанавливать Linux-софт в отдельно взятый каталог внутри Android. Также в свое время было придумано множество различных скриптов, которые позволяют легко и без лишних проблем собирать пригодный для работы внутри Android Linux-софт на большом брате. Этим двум проектам и будет посвящена оставшаяся часть статьи.
Начальная инициализация
На данный момент классическая версия BotBrew, использующая собственный репозиторий, позволяет устанавливать такой софт, как dcron, GCC, Git, SSH-сервер dropbear, консольный браузер Lynx, сканер безопасности Nmap, инструмент бэкапа rsync, редактор Vim, веб-сервер lighttpd, скриптовые языки Python и Ruby, а также несколько десятков других пакетов. Устанавливается это все, кстати говоря, в выделенный каталог во внутренней памяти смартфона/планшета и никак не захламляет основную систему. Другими словами, избавиться от 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, но это придется делать после каждого запуска терминала:
$ export PATH="$PATH:/data/botbrew/bin"
С демонами и разными сетевыми сервисами, кстати, дела обстоят намного лучше. После старта демоны сразу будут запущены, а управлять их включением можно через графический интерфейс, доступный по нажатию на кнопку «Play» в нижней части интерфейса BotBrew. Некоторые приложения могут потребовать создания дополнительных пользователей и изменения их параметров, это можно сделать так же, как в обычной Linux-системе:
$ botbrew opkg install dropbear
Обратная операция:
$ botbrew opkg remove dropbear
Чтобы оставаться «на острие прогресса», репозиторий BotBrew нужно время от времени обновлять, нажав на соответствующую кнопку в графическом интерфейсе (ее ни с чем не спутаешь). Новые версии пакетов будут отображаться на вкладке «Upgradable». Достаточно тапнуть по его имени и нажать «Upgrade».
Кроме использования дебиановских репозиториев, Basil отличается также слегка измененным интерфейсом. Например, сразу после запуска он предлагает выбрать каталог установки. По умолчанию используется /data/botbrew-basil, что, на мой взгляд, вполне логично, однако ты можешь выбрать любой другой, в том числе на ext2-разделе карты памяти (FAT не подойдет).
Второе важное отличие - это возможность выбрать способ использования приложения, которая появляется сразу после нажатия «Proceed». Вариантов здесь четыре:
После bootstrap’а BotBrew Basil на экране появится все тот же интерфейс управления установкой приложений, знакомый нам по классической версии приложения, а в системе появится команда botbrew2, с помощью которой можно запускать софт. Каких-то существенных отличий в управлении здесь нет, кроме разве что команды apt-get вместо opkg и возможности подключения дополнительных репозиториев (в том числе репозитория первого BotBrew) прямо через интерфейс установки приложений.
В этом случае мы можем попробовать собрать приложение самостоятельно. Однако здесь нас ждет сразу несколько трудностей: дело в том, что для сборки софта для смартфона придется подготовить необходимый инструментарий кросс-компиляции, затем учесть все зависимости собираемого приложения и, наконец, в некоторых случаях внести необходимые изменения в код. Все это довольно хлопотные дела, которые вряд ли стоят того, чтобы тратить на них время.
Тем не менее мы можем воспользоваться наработками других людей, чтобы автоматизировать процесс сборки софта. Одно из наиболее развитых и интересных решений из этой области - набор скриптов 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
# 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"
Впервые опубликовано в журнале «Хакер» от 08/2013.
Как установить на Андроид на Линукс? Этот вопрос возник у меня после безуспешных попыток настроить . Нет, всё работало, за исключением одного: сети и интернета. Сколько я не читал мануалов по пробросу портов, у меня так ничего и не вышло. На Android 2.3 сеть работает сразу, а на Android 4 нет.И вот я решил пойти другим путём и уставить эмулятор Android на Linux. Как установить Android на Линукс?
По сути я сейчас буду описывать эксперимент, поэтому не знаю, что в конечном итоге получится и получится ли что-то вообще, поэтому, прежде чем повторять мои действия, прочитайте статью до конца. Итак, начнём!
Для начала идём на сайт и скачиваем нужный нам пакет с Android и всё, что к нему прилагается. Я скачал версию под Linux , конечно.
Пока всё качается, установим в Linux дополнительные компоненты для запуска Android SDK - Ява машину, через которую и будет всё работать. Открываем терминал и запускаем команду:
Sudo apt-get install openjdk-7-jre
Cd android-sdk-linux
После этого выполняем команду, как написано в мануале, который был в архиве:
Tools/android update sdk --no-ui
После этого программа соединяется с сервисом Google и начинает закачку и установку нужных ей файлов. Качалось ОЧЕНЬ долго, так как загружается более 2 гигабайтов разных пакетов для разработчиков. Возможно этот шаг можно было пропустить и сразу запустить SDK manager. Для этого перейдём при помощи команды cd в каталог tools:
Cd android-sdk-linux/tools
После этого запускаем команду:
./android
В итоге запускается программа:
Получается, что командой tools/android update sdk --no-ui я установил все пакеты. Но на самом деле мне они не нужны, так как я не буду заниматься разработкой в Android, поэтому я потом лишнее удалю. Как запустить Android в Linux ?
Теперь нужно перейти в меню во вкладку Tools - Manage AVDs . Появится окно, в котором нужно будет задать параметры Android и его рабочего окружения. Я задал такие:
После настройки параметров нажимаем OK и в менеджере появляется наша виртуальная машина с Android.
Теперь нажимаем кнопку Start и запускаем наш Android.
Как видите, всё заработало, а главное сразу работает интернет, а ради этого всё и затеялось. Теперь можно попробовать настроить свой аккаунт в Андроид и начать устанавливать приложения из Google Play.
Единственный минус - это сильные тормоза при работе. Но думаю тут просто нужно немного по-экспериментировать, устанавливая разные версии Android и задавая разные параметры его установки. Вот так можно установить Android на Linux для разработки приложений в нём, да и просто для тестов.
Если вы знаете, как улучшить работу Андроид в Линукс, то поделитесь своим опытом в комментариях.
На днях ко мне вернулся мой старый нетбук, маленький, слабенький, покупал я его еще в далеком 2010 году. И я подумал: и линукс, и виндовс будут на нем...
У вас наверное сразу возник вопрос: - "А зачем вообще устанавливать Android на VirtualBox (виртуальную машину)?" А причины могу быть разные, но основн...