Запуск полноценных ОС на Android. Инструкции: Установка операционной системы Linux на Android-смартфон (планшет)

12 ноября 2011 в 03:17

Переселение души: linux на android планшете

  • *nix

Доброго времени суток всем.

Моя история начинается с прочтения , после которой я и решился приобрести чудо китайского планшетостроения: superpad. Данный планшет брался как игрушка для «поковырять немного», по совместительству, читалка, игралка на пары и смотрелка в долгую дорогу… Сразу отмечу, что у меня два usb винчестера на 500 гб и 1тб, на которых и хранится все самое важное для веселой жизни, и разбиты они в ntfs и ext4. И, естественно, планшет их не видит.

Вот мой доброволец

Вот и первая причина поковыряться. После просмотра 200 страниц форума на xda-developers.com очертились определенные

На данном этапе все попытки вскрытия данного планшета отложились в долгий ящик. До славного времени для студента – сессии. А так как на сессии студенты делают абсолютно все, лишь бы не по предмету, то веселые ночные посиделки в интернете на заведомо буржуйских сайтах возобновились. И пришла гениальная идея поставить на данный планшет православный linux, в моем случае – ubuntu.
Что из этого вышло, смотрим ниже.

Понятно, что просто так взять и установить не получится… ну что же, где наша не пропадала…

Нам понадобятся:

рассмотрим основные этапы загрузки android и linux
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а от другого планшета , не думал, что он заведется…

содержимое ramdiska
bin dev etc home init init.rc lib linuxrc mnt newroot opt proc root sbin sys tmp usr var
В /bin лежит busybox, в /sbin – switch_root ссылкой на него.
Код init из ramdiskа от zt-180

#!/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 приходится зажимать клавиши при старте.

Так, этап загрузки пройден и стоит запастись терпением, так как консоль не подает признаков жизни, а все грузится достаточно медлительно.

Настраиваем автологин на первую консоль
В /etc/init/tty1.conf заменяем последнюю строчку на exec /bin/login -f Yor_Login < /dev/tty1 > /dev/tty1 2>&1 потом в своем ~/.bashrc можно прописать команды, которые будут стартовать при автоматическом логине.
Боремся с икс-сервером
У меня он определенно не дружил с тачскрином, xorg.conf и xterm… удалил драйвер synaptic, закинул в ~/.xinitrc следующее:
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # global xinitrc file, used by all X sessions started by xinit (startx) # invoke global X session script #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name login
Боремся с рабочей средой
Я захотел поставить kde, так как мне безумно нравится отрисовка графики библиотекой qt. Сразу скажу: да, поставилось и завелось, но КАК…
Во-первых, сразу настроил автологин:
в /etc/kde4/kdm/kdmrc находим и меняем под себя следующее
AutoLoginEnable=true # If true, auto-login after logout. If false, auto-login is performed only # when a display session starts up. # Default is false #AutoLoginAgain=true # The delay in seconds before automatic login kicks in. # Default is 0 AutoLoginDelay=3 # The user to log in automatically. NEVER specify root! # Default is "" AutoLoginUser=Login # The password for the user to log in automatically. This is NOT required # unless the user is logged into a NIS or Kerberos domain. If you use this # option, you should "chmod 600 kdmrc" for obvious reasons. # Default is "" AutoLoginPass=Password
и, как написано, делаем chmod 600 kdmrc в консоли под рутом, чтобы нехорошие личности не подсмотрели наш пароль.
Во-вторых, при входе подозрительно долго висела заставка, и я, засомневавшись, вызвал startkde из консоли. После долгого и нудного показа всевозможных ошибок наконец загрузилась плазма в режиме нетбука. Графические эффекты выключены, так как мы сидим под framebufferом, и наблюдаются местами дичайшие тормоза, но все же это kde и оно загрузилось!
Тонкая подстройка всего и вся под себя
У каждого своя, оптимизацию я пока что не проводил, а сделать предстоит очень многое: ускорить загрузку, оптимизировать рабочее пространство. Посматриваю в сторону более легковесного wm – e16 – но пока основным не сделал. так же нужно откалибровать тачскрин, благо что виртуальная клавиатура уже есть в kde.
Посматриваю в сторону openbox +

Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС Android до того, как энтузиасты научились запускать на них полноценные дистрибутивы Linux. Сегодня методики установки Linux-дистрибутивов на Android-устройства широко известны, а в репозитории Google Play есть даже автоматизированные системы установки и запуска Linux. В этой статье я попытаюсь аккумулировать весь накопленный опыт работы с Linux на смартфонах, расскажу, зачем это нужно, и покажу, как избежать возможных подводных камней при переносе Linux на смартфон или планшет.

Зачем?

На первый взгляд может показаться странным, что кто-то пытается запустить на мобильном устройстве операционную систему, в принципе не предназначенную для работы с экраном небольших размеров и без достаточно точного манипулятора (мышь) и клавиатуры. Однако не стоит делать поспешных выводов. Дистрибутив Linux может дать владельцу смартфона достаточно много преимуществ, среди которых набор старых проверенных инструментов, таких как утилиты командной строки, продвинутые редакторы, FTP- и SSH-серверы, сетевые инструменты и средства разработки приложений. Запустив Linux без графической оболочки на смартфоне с хардварной клавиатурой (Motorola Droid, к примеру), можно достаточно комфортно всем этим пользоваться прямо на ходу без необходимости покидать сам Android. Все инструменты доступны в любой момент, а смартфон продолжает оставаться смартфоном, позволяя принимать звонки и слушать интернет-радио.

Второй аргумент за установку Linux на смартфоне - это возможность использовать его в качестве переносной рабочей станции, которую можно подключить к любому ПК и тут же получить доступ к терминалу с помощью SSH/Telnet-клиента либо клиента VNC/RDesktop. Это по определению лучше, чем флешки с установленным Linux, так как нет необходимости, во-первых, перезагружать машину, а во-вторых, гонять туда-сюда данные; результаты твоей работы будут доступны сразу после того, как отключишь смартфон от компа.

Наконец, наибольший выигрыш Linux дает на планшетах, экран которых позволяет более-менее сносно работать в графической среде, а возможность подключить мышь и клавиатуру через OTG-кабель так и вообще дает шанс превратить планшет в полноценную рабочую станцию. При этом никакой особой разницы между установкой дистрибутива Linux на планшет и смартфон нет.

Как?

Перенести Linux на Android действительно просто, и главную роль здесь играет ядро Linux. Любой Linux-дистрибутив представляет собой набор приложений и библиотек, работающих поверх ядра Linux, а так как Android сам основан на почти неизмененном ядре Linux, эти приложения и библиотеки можно без каких-либо проблем запустить внутри среды Android. Достаточно лишь подыскать дистрибутив, для которого существует порт на платформу ARM (не забываем, что 99% всех Android-девайсов работают на ARM), установить его с помощью ARM-эмулятора на виртуальный жесткий диск (то есть в файл), скинуть этот файл на SD-карту устройства, открыть терминал, смонтировать образ в качестве loopback-устройства и сделать chroot внутрь. Все! Это так же просто, как запуск FTP-сервера в chroot-окружении - простой и проверенный десятилетиями метод.

Единственный камень преткновения, когда ты решаешь запустить дистрибутив Linux внутри Android, - графическая среда. В то время как с доступом к консоли никаких трудностей не возникает благодаря наличию полноценного эмулятора терминала, с графическими приложениями начинаются проблемы - нативного X-сервера для Android нет, а запустить обычный X-сервер внутри самого дистрибутива невозможно из-за коренных отличий в архитектуре графической подсистемы зеленого робота. Несмотря на то что в основе она использует стандартный Linux Framebuffer, поверх которого можно запустить X-сервер, эксклюзивное право его использования изначально принадлежит более высокоуровневым библиотекам Android, поэтому остается либо загружать Linux-дистрибутив вместо Android (что совершенно непрактично), либо придумывать обходные пути.

Проверка работы необходимых модулей

Имей в виду, что поддержка loopback-устройств и файловых систем ext2/ext3, необходимых для подключения образа, имеется далеко не во всех ядрах Linux, установленных на смартфонах под управлением Android. Проверить наличие поддержки можно с помощью команды lsmod | grep -e loop -e ext2.

Энтузиасты вышли из этой ситуации, используя простой метод «удаленного» подключения к рабочему столу с помощью любого доступного для Android VNC-клиента. Внутри chroot-окружения запускается X-сервер Xvnc, и все приложения работают под его управлением. Пользователю остается лишь установить VNC-клиент, вбить локальный адрес - и вуаля, на экране появляется полноценный рабочий стол.

Единственное узкое место при использовании удаленного рабочего стола - это производительность. Даже работая локально, VNC не может обеспечить должный ее уровень, которого бы хватило для плавной прокрутки или перемещения окон без лагов. Решить эту проблему пока не удалось, проекты разработки нативного X-сервера, который бы использовал графическую подсистему Android, еще очень сыры и не могут быть использованы для запуска полноценных графических сред. Впрочем, никто не запрещает их использовать; к примеру, X Server от Darkside Technologies Pty Ltd (goo.gl/ap3uD) вполне сгодится для запуска простого софта.

Изначально Linux для Android существовал только в виде образа с уже установленной системой, а также пояснительной инструкции, как этот образ подключить и использовать. Затем появились скрипты, которые автоматизировали процесс подключения образа и запуска Linux, но и они требовали некоторой работы головой. Наконец, в последнее время появились инсталляторы, доступные в Google Play (например, goo.gl/RSA1j), в некоторой степени автоматизирующие процесс запуска дистрибутива, хотя, по сути, это все то же руководство по установке, но интерактивное, с прямыми ссылками на скачивание образов и скриптов.

Альтернативные варианты

Выше я уже упомянул о том, что дистрибутив Linux вполне может быть загружен вместо Android, благодаря чему удастся задействовать Framebuffer для прямого доступа к видеоадаптеру и существенно ускорить работу графического интерфейса. Однако делать это на смартфоне практически бессмысленно - Linux непригоден в качестве основной системы на небольших экранах, к тому же принимать звонки и пользоваться интернетом будет невозможно. А вот на планшете Linux будет выглядеть вполне достойно.

Обычно на устройство, изначально работающее под управлением Android, так называемая нативная версия Linux-дистрибутива устанавливается следующим образом. На внутреннем NAND-накопителе планшета создается дополнительный раздел, на который копируется Linux-дистрибутив. Затем загрузчик U-Boot (он применяется в большинстве планшетов) настраивается таким образом, чтобы использовать этот раздел в качестве загрузочного. В результате планшет будет автоматически загружать Linux-систему после включения питания.

Чтобы оставить возможность загрузки Android, загрузчик U-Boot перенастраивают таким образом, чтобы раздел с Linux-системой был не основным, а выполнял функцию «раздела для восстановления» (Recovery Mode), доступного с помощью включения устройства с зажатой клавишей громкости (тот самый, который используется для перепрошивки устройства и выполнения различных восстановительных операций). Таким образом удается получить устройство с двойной загрузкой: Android по умолчанию и дистрибутив Linux при загрузке в режиме восстановления. Сам Recovery Mode при этом остается доступным только с помощью специальных инструментов.

В случае если NAND-памяти оказывается недостаточно для размещения полноценной Linux-системы, ее части (обычно раздел /usr) выносят в образ или раздел на SD-карте. Кстати, ext2-раздел на карте памяти также можно использовать для установки Linux, запускаемого в chroot-окружении.

Установить нативный Linux-дистрибутив сложнее, чем работающий в chroot-окружении, но это стоит того, если у тебя есть планшет и OTG-кабель, с помощью которого можно подключить клавиатуру и мышь.

Практическое занятие

Как я уже говорил, для запуска под управлением Android пригодны только дистрибутивы, портированные на архитектуру ARM. Прежде всего это Ubuntu и Debian, причем первый по понятным причинам пользуется гораздо большим интересом среди роботоводов. Также можно установить Gentoo и несколько специализированных дистрибутивов, например Backtrack. Рассмотрим самый типичный случай, то есть установку Ubuntu по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.


Для начала нам нужен образ жесткого диска с установленным дистрибутивом. Его можно создать самому, воспользовавшись эмулятором QEMU, однако в связи с тем, что процедура установки абсолютно стандартна и типична, описывать ее я не буду, а просто направлю тебя по адресу goo.gl/9nvBi . Здесь лежит архив с образом, на который предустановлен Ubuntu 12.04 с графическим окружением LXDE (было бы неразумно запускать Unity/Gnome на телефоне/планшете). Архив следует распаковать и положить файл ubuntu.img на карту памяти.

Далее надо смонтировать образ и сделать chroot в окружение дистрибутива. Для этого нужны права root, прошивка с поддержкой блочных loopback-устройств и установленный busybox (ищем в Маркете по запросу «busybox installer», в CyanogenMod есть по умолчанию). Последовательность действий:

  1. Открываем эмулятор терминала в Android (если нет, можно установить из Маркета Terminal Emulator) . Либо подключаем смартфон/планшет к компу и получаем доступ к терминалу с помощью adb: $ cd путь-до-Android-SDK/platform-tools $ sudo ./adb shell

    Не забываем, что режим отладки в этом случае должен быть включен: «Настройки -> Для разработчиков -> Отладка Android».

  2. Получаем права root: $ su
  3. Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его: # mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    Содержимое образа должно появиться в каталоге /sdcard/ubuntu. Проверь, чтобы это было так.

  4. Подключаем все необходимые для работы дистрибутива виртуальные ФС: # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. Настраиваем так, чтобы из chroot-окружения можно было получить полноценный доступ в Сеть: # sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts
  6. Переходим в chroot-окружение: # chroot /mnt/ubuntu

Собственно, на этом установка заканчивается. Теперь можно запускать консольный софт, производить обновление системы, стартовать сетевые сервисы и делать почти все, что можно сделать с обычной десктопной Linux-системой, не забывая, конечно, что некоторый софт, напрямую взаимодействующий с железом и различными специализированными псевдодевайсами, работать не будет. Также не забываем, что виртуальные ФС после завершения работы следует размонтировать.

Теперь нам необходимо установить и запустить X-сервер Xvnc, экспортирующий дисплей и устройства ввода с использованием протокола VNC. TightVNCserver уже есть в представленном образе и даже настроен, но, чтобы ты лучше понял процесс и смог решить возникшие проблемы, я подробно опишу процесс его установки и запуска.

  1. Обновляемся и устанавливаем TightVNCserver: # apt-get update # apt-get install tightvncserver
  2. Создаем файл /root/.vnc/xstartup и пишем в него следующее: #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession

    Третья команда здесь нужна, чтобы пофиксить проблемы, которые могут возникнуть из-за физического отсутствия на устройстве клавиатуры.

  3. Запускаем Xvnc с помощью враппера vncserver с правами root: # export USER=root # vncserver -geometry 1024x800

    В результате выполнения последней команды на экран будет выведен запрос на пароль для доступа к VNC-серверу, лучше указать что-нибудь простое вроде «123». Разрешение можно установить фактически любое, однако лучше, если оно будет совпадать с физическим разрешением экрана устройства.

  4. Устанавливаем на смартфон приложение AndroidVNC, запускаем его, указываем IP-адрес и порт 5901, подключаемся. На экране должен появиться рабочий стол LXDE.

Чтобы не заморачиваться с ручным вводом всех команд, можно использовать скрипт ubuntu.sh, расположенный здесь: goo.gl/xSpK4 . Просто положи его и образ ubuntu.img в каталог ubuntu на SD-карте и запусти скрипт командой sh ubuntu.sh, а через 5–10 секунд подключись к рабочему столу с помощью AndroidVNC. Имей в виду, что скрипт монтирует образ к каталогу /data/local/mnt.


Установка Gentoo на ext2-раздел

Итак, мы установили Ubuntu с помощью образа с файловой системой и шаманств с loopback-устройством и chroot-окружением. Сделать это оказалось несложно, а с применением скриптов так и вообще очень легко, но что, если пойти дальше и установить более хардкорный дистрибутив, и не с использованием образов, а на выделенный ext2-раздел на карте памяти? Так мы сможем решить проблему некоторых прошивок и ядер без поддержки loopback-устройств и к тому же сможем насладиться нормальным дистрибутивом, установленным по всем правилам.


Возьмем в качестве подопытной системы Gentoo. Чтобы установить его на ext2-раздел, нам понадобится карта памяти объемом не меньше 2 Гб и рутованный смартфон с установленным busybox. Последовательность действий следующая.

  1. Делаем бэкап данных с карты памяти и создаем на ней дополнительный раздел, объемом не меньше двух гигабайт . Сделать это можно с помощью любой программы для разбивки дисков, однако имей в виду, что если ты хочешь продолжать использовать SD-карту по прямому назначению, то создавать FAT32-раздел следует в начале карты, так, чтобы он стал первым, а дополнительный раздел для установки дистрибутива должен быть вторым.
  2. Форматируем разделы SD-карты: $ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. Берем телефон, заходим в «Настройки -> О телефоне» и смотрим, какой установлен процессор. Далее переходим на страницу goo.gl/PRfux и выкачиваем stage3 для нужной архитектуры, например stage3 для ARM v7 лежит в каталоге current-stage3-armv7a.
  4. Монтируем ext2-раздел карты памяти на компе и распаковываем в него содержимое полученного архива: $ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    Сразу редактируем конфиги и все, что нужно, по вкусу, включая правку /etc/resolv.conf по образцу из предыдущего раздела.

  5. Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu): # mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net.ipv4.ip_forward=1 # chroot /mnt/gentoo

Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта:). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.

Нативная установка

Запустив Ubuntu с использованием VNC-сервера, ты заметишь неторопливость его работы, которая связана с издержками протокола VNC на передачу картинки «по сети». Чтобы избежать этой проблемы, можно установить Ubuntu в качестве основной системы рядом с Android, так, чтобы она смогла использовать видеоадаптер напрямую. К сожалению, универсального способа сделать это не существует. Каждое устройство по-своему уникально, включая различные таблицы разделов NAND-памяти, на которую производится установка, различные устройства и драйверы для их работы.


К счастью, процесс установки нативной версии дистрибутива хорошо описан для многих устройств в русскоязычных форумах, поэтому найти инструкцию будет несложно. Стоит, тем не менее, сразу обратить внимание на несколько особенностей такого типа установки:

  • Отдельный или основной NAND-раздел. Linux-дистрибутив может быть установлен как в заблаговременно созданный раздел в NAND-памяти, так и в основной загрузочный раздел. В первом случае разработчик прошивки обычно оставляет возможность загрузки Android с помощью специального скрипта либо через загрузку Linux-дистрибутива в режиме восстановления, во втором он будет установлен вместо Android и для возвращения возможности загрузки робота придется заново перепрошивать устройство.
  • Возможность двойной загрузки. Если Linux-дистрибутив будет установлен на отдельный раздел, разработчик может оставить возможность загрузки Android. Однако стоит сразу обратить внимание, как эта загрузка происходит: с помощью режима восстановления либо скрипта, запускаемого с обычного компа. Все-таки второй способ будет неудобен в дороге.
  • Поддержка оборудования. Оригинальное Linux-ядро Android-прошивки уже включает в себя все необходимые драйверы, которые могут понадобиться для работы полноценной Linux-системы, однако далеко не во всех Linux-прошивках все заведется само собой. Часто возникают проблемы с Wi-Fi-адаптером и сенсорным экраном, который неадекватно реагирует на прикосновения. Поэтому перед установкой прошивки стоит внимательно прочитать о возможных осложнениях.

В любом случае будь готов к тому, что во время установки Linux-дистрибутива все твои данные будут уничтожены. Без этого никак.

Что дальше

Linux-дистрибутив, установленный рядом с оригинальной Android-системой, может стать очень удобным рабочим инструментом, однако на данный момент «Linux внутри Android» считается скорее игрушкой и способом покрасоваться перед друзьями, нежели серьезным решением. Уверен, что в скором времени, когда для Android появится полноценная реализация графического сервера Wayland, ситуация начнет меняться и мы увидим дистрибутивы с адаптированным для небольших экранов интерфейсом, а также полноценные Linux-приложения, распространяемые в форме обычных APK-пакетов. Также не стоит забывать о проекте «Ubuntu for Android» - в его рамках идет работа над официальным портом Ubuntu для Android, который позволит использовать смартфон в качестве переносного системника, подключаемого к любому монитору.

Большинство пользователей Андроид знают, эта платформа работает на базе операционной системы Linux, но, несмотря на это, многие её программы на недоступны. Именно поэтому отличный выход - поставить на планшет оболочку Linux под названием Ubuntu. Она запускается через Emulator и работает параллельно с Андроид, предоставляя обширный выбор приложений, которые обычно не грузятся на устройствах с этой операционной системой.

Обе операционные системы могут работать параллельно

Мы рассмотрим, как установить её самостоятельно без помощи специальных приложений, с использованием только эмулятора и программы VNC Viewer.

Ставим Ubuntu на планшет

Какие параметры требуются для этой оболочки? Нам нужны root-права, свободная память в объёме 2,5–3,5 Гб. Для требуется минимальная тактовая частота в размере от 1 ГГц, необходима поддержка файловой системы Ext2. В качестве средств, которые способствуют установке, нам необходимы несколько программ, включая эмулятор - он пригодится для дальнейшего запуска ПО.

Что такое root-права, и как их получить? Они представляют собой права администратора. В этом случае наличие таких прав позволит менять системные параметры планшета, поэтому без них поставить Ubuntu for Android не выйдет.

Получить эти права вы можете через различные приложения, большое количество которых вы найдёте в Play Market. Скачайте одно из них, активируйте права администратора и после этого переходите к непосредственной установке Ubuntu на планшет.

Для этого нужно сделать следующее:

  • Выполните вход в системные настройки своего планшета и в разделе «Для разработчиков» включите режим отладки по USB. Если этой функции у вас нет, перейдите в меню «Об устройстве» и найдите строку с номером сборки - быстро нажмите на неё 5 раз подряд, после чего появится сообщение, что вы стали разработчиком, и должна появиться в списке;

  • Создайте в памяти карты папку под названием Ubuntu;
  • Скачайте скрипт для запуска Linux и одну из сборок программного обеспечения - их есть всего две. Первая - минимальная, содержит только отдельные, наиболее востребованные приложения и имеет размер пол гигабайта, после установки занимает на карте памяти 2,5 Гб свободного места. Вторая — полная сборка, обладает обширным набором программ, соответственно, имеет исходный размер 1,5 Гб и после распаковки отнимет 3,5 Гб памяти;
  • Далее вам следует скачать две программы: Terminal Emulator for Android и VNC Viewer;
  • Откройте приложение Emulator и выполните в нём следующие команды:
  1. cd /sdcard/ubuntu;
  2. sh ubuntu.sh.

Примечание. Прежде чем вводить команды, при первичном запуске эмулятор потребует , и, конечно же, вам нужно дать согласие на это действие.

  • Далее вам нужно указать данные о разрешении вашего экрана и тип среды рабочего стола в том же приложении Emulator.
  • По истечении нескольких минут при правильной установке перед вами появится сообщение с текстом root@localhost:/# - это значит, что оболочка Linux в эмуляторе была успешно запущена.

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

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

  • Поддерживаемые дистрибутивы: 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, X-сервер, фреймбуфер
  • Интерфейсы управления (CLI): Android-терминал (или adb), telnet, веб-интерфейс (терминал через браузер)
  • Окружение рабочего стола: XTerm, LXDE, Xfce, MATE, другое (ручная настройка)
  • Поддерживаемые языки: мультиязычный интерфейс

ВНИМАНИЕ!

Эта программа поставляется БЕЗ ВСЯКИХ ГАРАНТИЙ, а автор не несет ответственности за любые возможные последствия ее использования. Это свободное программное обеспечение, и вы можете распространять его согласно правилам лицензии GPLv3.

ИНСТРУКЦИЯ ПО УСТАНОВКЕ GNU / LINUX

  1. Подключите WiFi или другую сеть с доступом в Интернет. Установка осуществляется по сети и не будет работать без доступа в Интернет.
  2. Убедитесь, что на устройстве получены права суперпользователя (root) . Установите последнюю версию программы Linux Deploy и запустите её.
  3. При первом запуске приложения автоматически запускается обновление рабочего окружения, которое представляет собой директорию, содержащую все необходимые сценарии, настройки и профили контейнеров. Настройки рабочего окружения можно посмотреть в разделе "Настройки -> Рабочее окружение ". Директорию окружения не следует менять, если на то нет причины. Полезно оставить включенной опцию "Настройки -> Не отключать экран " ("Settings -> Screen Lock "), пока приложение будет активно, экран, WiFi и процессор не будут переходить в спящий режим.
  4. Программа поддерживает работу с несколькими профилями, где хранятся параметры каждого экземпляра GNU/Linux. Можно быстро переключаться между экземплярами через окно управления профилями (открывается по нажатию на пиктограмму в заголовке главного окна). По умолчанию создается профиль с именем "linux". Зайдите в параметры текущего профиля (крайняя правая кнопка) и настройте необходимые опции установки и запуска дистрибутива GNU/Linux ( см. описание параметров ).
  5. Linux Deploy 2.x не требует обязательной установки в систему BusyBox, однако в редких случаях может понадобится использование системного BusyBox. Для этого установите совместимый ®BusyBox . В параметрах BusyBox перед установкой необходимо выбрать опцию "Заменить апплеты ". После чего в настройках рабочего окружения Linux Deploy нужно указать путь к системному BusyBox в поле "Настройки -> Переменная PATH " ("Settings -> PATH variable "), например, /system/xbin , и запустить обновление рабочего окружения "Настройки -> Обновить окружение " ("Settings -> Update ENV ").
  6. Запустите установку выбранного дистрибутива: "Меню -> Установить " ("Menu -> Install "). Журнал установки отображается в главном окне приложения. Установка в среднем занимает около 30 минут. Этап создания образа при размере более 2 ГБ может занимать длительное время (около 15 мин.).
  7. Если установка завершилась без ошибок, то можно запустить Linux-систему кнопкой "СТАРТ " ("START "). При этом будут запущены отмеченные в параметрах сервисы - SSH, VNC и другие.
  8. Для доступа к консоли Linux-системы по SSH следует установить ConnectBot (или другой SSH клиент). Для доступа к рабочему столу Linux-системы следует установить X-сервер, например XServer XSDL . В настройках следует указать IP устройства для подключения, для того же устройства - 127.0.0.1. Пароль к SSH и VNC указывается в параметрах контейнера. Изменить пароль текущего пользователя можно из консоли командой passwd. Для запуска программ из-под пользователя root используйте команду sudo (например, sudo synaptic). По умолчанию для пользователя root (если только он не указан в настройках в качестве имени пользователя) пароль не установлен, однако можно задать для него пароль командой sudo passwd root.
  9. Чтобы остановить Linux-систему, все запущенные под ней сервисы и размонтировать диски, достаточно нажать кнопку "СТОП " ("STOP ").
  10. Linux Deploy позволяет управлять контейнерами через CLI (интерфейс командной строки). Для доступа к CLI можно использовать telnet или веб-браузер, предварительно активировав соответствующие интерфейсы управления в настройках.
  11. Чтобы сократить время на установку базовой системы или в случае проблем с установкой системы из официальных репозиториев, можно импортировать контейнер из заранее подготовленного архива. Для этого есть репозиторий контейнеров, созданных с помощью Linux Deploy и доступных через интерфейс приложение в разделе "Репозиторий " ("Repository "). Достаточно выбрать нужный контейнер в интерфейсе репозитория и нажать кнопку "Импорт " ("Import "). После этого в приложении будет создан новый профиль, параметры которого можно изменить при необходимости. Затем нужно просто запустить установку "Меню -> Установить " ("Menu -> Install "), при этом будет подготовлен путь установки (создан образ для контейнера), скачан архив контейнера, распакован и сконфигурирован. После завершения процедуры можно запустить контейнер кнопкой "СТАРТ " ("START ").

ОБНОВЛЕНИЕ ПРОГРАММЫ

После обновления программы автоматически выполняется обновление рабочего окружения. При необходимости обновление можно запустить вручную: "Настройки -> Обновить окружение " ("Settings -> Update ENV "). Обновления программы (окружения) не влияют на уже установленную GNU/Linux систему, т.е. установленная система из-за обновления не может повредиться или каким-то образом измениться.
Для изменения настроек уже установленной системы или для возвращения настроек к исходным нужно выполнить конфигурацию: "Меню -> Конфигурировать " ("Menu -> Configure "). Если в параметрах выбраны какие-то компоненты, то при конфигурации будет осуществляться установка пакетов для выбранных компонентов.

УДАЛЕНИЕ ПРОГРАММЫ

Перед удалением программы нужно остановить работу GNU/Linux дистрибутива кнопкой СТОП (STOP) , если остановить дистрибутив не удается, то рекомендуется перезагрузить устройство. После этого выполнить команду "Настройки -> Удалить окружение " ("Settings -> Remove ENV "). После этого можно удалить приложение. Удалять приложение с неразмонтированным контейнером опасно, при удалении приложения версии ниже 1.5.3 также удаляются все данные со всех смонтированных в контейнер разделов! Также могут остаться файлы.img, которые создаются на карте памяти при установке дистрибутивов, такие файлы могут быть удалены вручную через любой файловый менеджер .

Скачать приложение для установки Linux на Андроид - Linux Deploy на Андроид вы можете по ссылке ниже.

Как установить на Андроид на Линукс? Этот вопрос возник у меня после безуспешных попыток настроить . Нет, всё работало, за исключением одного: сети и интернета. Сколько я не читал мануалов по пробросу портов, у меня так ничего и не вышло. На 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 (виртуальную машину)?" А причины могу быть разные, но основн...