Обзоры новинок на рынке смартфонов.

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


Установка Linux на Android - подробная инструкция

В рамках этой статьи мы детально расскажем как установить Linux на Android-устройство. Для установки и полноценной работы альтернативной системы вам потребуется: смартфон или планшет, программный эмулятор, права root и несколько гигабайт свободного места.

1. Установка приложения complete linux installer

Вводим в меню поиска Google Play слово “emulator” и получаем список из нескольких десяткой примерно одинаковых утилит. Все они хороши, но мы остановили внимание на приложении Complete Linux Installer. Оно совершенно бесплатно, прекрасно локализовано и снабжено подробнейшей инструкцией для новичков.

Программу можно загрузить по адресу http://goo.gl/5C6Xa . Алгоритм установки Complete Linux Installer ничем не отличается установки любого другого программного обеспечения, поэтому на этом моменте мы останавливаться не будем.

2. Работа с приложением Complete Linux Installer

Перед началом работы с программой хотелось бы подчеркнуть еще раз: то, что мы описываем в данной статье, это не установка Linux вместо Android, а эмуляция работы одной системы в другой.

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

Как и упоминалось ранее, Complete Linux Installer требует для полноценного функционирования прав root, о чем приложение и напомнит вам во всплывающем окне. Предоставляем программе полный доступ к системным функциям мобильного устройства.

На этом первоначальная подготовка эмулятора к работе закончена. Перед вами откроется основное меню приложения. Переходим к подпункту “Руководство по установке”.

Эмулятор просканирует аппаратную начинку вашего гаджета и выдаст список операционных систем, которые гарантированно запустятся на вашем мобильном устройстве. Выбираем для примера Ubuntu 13.10.

С этого момента программа начинает “вести” вас по этапам установки операционной системы, сопровождая каждое необходимое действие подробнейшими инструкциями. Например, ознакомившись с требованиями эмулятора на первом шаге, обязательно установите “Терминал” и “VNCViewer” на втором. Только после этого выбирайте пункт “Скачать образ”.

Прочтите описание различий между дистрибутивами операционной системы линукс и выберите необходимый именно вам.

Далее укажите приложению предпочтительный метод получения архива с образом системы (прямая загрузка или скачивание с помощью торрент-клиента) и дождитесь окончания загрузки файла.

Создайте в корне внешнего накопителя гаджета папку с именем будущей системы. Это значительно упростит программе поиск необходимых файлов. В нашем случае мы создаем директорию “ubuntu”. Распакуйте скачанный архив в эту папку.

В итоге в каталоге “ubuntu” должны появиться два файла. Один из них – с расширением .img. Это и есть образ запускаемой системы линукс.

После выполнения указанных действий перейдите в подпункт “Запуск” основного меню Complete Linux Installer и нажмите вспомогательное меню “Settings” в правом верхнем углу окна. Выбрав опцию “Изменить”, укажите приложению полный путь к исполняемому файлу системы. Подтвердите свой выбор нажатием на кнопку “Сохранить изменения”.

На этом очередной этап установки альтернативной операционной системы в память вашего гаджета закончен. Можете смело выбирать опцию “Запуск Linux”.

Приложение в фоновом режиме запустит терминал для выполнения тестовых команд и запросит для него root-доступ к системным функциям устройства. Разрешаем.

Теперь ваш смартфон или планшет сможет работать как эмулятор операционной системы Linux и вам будут доступны все возможности операционной системы с пингвином на логотипе – от выполнения простейших команд в терминале до установки полноценного графического окружения. Установка Linux на Android завершена.

androha.ru

Устанавливаем Linux-программы на смартфон под управлением Android / Блог компании Журнал Хакер / Хабр

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

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

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

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 призван решить многие проблемы с установкой Linux-софта, которые только могут возникнуть у пользователя, и подготовить систему Android к принятию инородных для нее приложений. По сути, система состоит из четырех компонентов:
  • репозиторий с прекомпилированными для Android приложениями, используя который можно установить многие Linux-приложения с помощью одной команды;
  • менеджер пакетов, в качестве которого используется легковесный Opkg или dpkg вместе с apt-get в экспериментальной версии BotBrew Bazil;
  • менеджер процессов runit, необходимый для того, чтобы правильно запускать и поддерживать работу демонов, если таковые будут установлены;
  • собственная система сборки, которая содержит в себе все инструменты, необходимые для кросс-компиляции приложений с помощью любого настольного Linux-дистрибутива.
Для работы это чудо программистской мысли требует всего ничего: права root и немного свободного пространства во внутренней памяти смартфона или на карте памяти. Причем первый вариант предпочтительнее, так как в случае с SD файлы будут свалены на виртуальный диск, работа с которым поддерживается далеко не всеми ядрами.

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

Список установленных приложений Список установленных приложений

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

Процесс установки пакета Процесс установки пакета

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

Управлять сервисами в BotBrew действительно просто Управлять сервисами в BotBrew действительно просто

В маркете можно найти также приложение под названием BotBrew Basil, помеченное как экспериментальное. По сути, это все тот же BotBrew, но с одним весьма важным отличием. Вместо собственных репозиториев и менеджера пакетов Opkg он использует ARM-репозитории Debian Linux и менеджер пакетов apt-get. Это значит, что количество софта, которое можно установить с помощью «бразильской версии» приложения, намного больше. В десятки раз больше.

Кроме использования дебиановских репозиториев, Basil отличается также слегка измененным интерфейсом. Например, сразу после запуска он предлагает выбрать каталог установки. По умолчанию используется /data/botbrew-basil, что, на мой взгляд, вполне логично, однако ты можешь выбрать любой другой, в том числе на ext2-разделе карты памяти (FAT не подойдет).

Второе важное отличие — это возможность выбрать способ использования приложения, которая появляется сразу после нажатия «Proceed». Вариантов здесь четыре:

  1. Use BotBrew on the command line — по сути, аналог установки в стиле обычного BotBrew.
  2. Use the dpkg/APT system — установка вместе с apt-get и репозиториями Debian. Рекомендуемый вариант установки.
  3. Run Python programs — аналог первого варианта с автоматической установкой Python.
  4. Install a minimal Debian — минималистичная установка Debian.
Поясню второй и четвертый пункты. Первый BotBrew и первый пункт в этом списке делают не что иное, как установку минималистичной Linux-системы (состоящую всего из нескольких команд и библиотек), внутри которой как раз и происходит запуск Linux-софта. Однако apt-get, в отличие от минималистичного Opkg, требует более-менее полноценной установки Linux. Поэтому, выбрав второй пункт, ты получишь у себя на смартфоне этакий микро-Linux. А если мы можем установить микроверсию, почему бы не установить более-менее полноценный дистрибутив. Для этого и существует четвертый пункт.

После bootstrap’а BotBrew Basil на экране появится все тот же интерфейс управления установкой приложений, знакомый нам по классической версии приложения, а в системе появится команда botbrew2, с помощью которой можно запускать софт. Каких-то существенных отличий в управлении здесь нет, кроме разве что команды apt-get вместо opkg и возможности подключения дополнительных репозиториев (в том числе репозитория первого BotBrew) прямо через интерфейс установки приложений.

BotBrew Basil предлагает несколько вариантов установки 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.

Публикация на Issuu.com

Подпишись на «Хакер»

habr.com

Как установить Linux на Android-смартфон или планшет — Жизнь под Лампой!

Подробная инструкция по превращению любого устройства, работающего под управлением Android, в полноценный компьютер на базе Linux.

Запуск Linux на Android возможен! И для этого не нужно устройство с root-правами: всё необходимое ПО доступно в официальном магазине Google Play. Всего за 10–15 минут вы сможете получить операционную систему, отличающуюся от Android расширенной функциональностью.

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

Перед установкой закройте все ненужные приложения и очистите оперативную память Android-девайса.

1. Из магазина Google Play установите GNURoot Debian и XServer XSDL.

2. Перед началом установки Linux убедитесь, что ваш девайс подключён к стабильной сети Wi-Fi. Запустите GNURoot. Начнётся загрузка необходимых пакетов среды.

Установка занимает от 30 секунд до нескольких минут в зависимости от скорости вашего интернет-подключения. Не обращайте внимания на бегущие строки до появления следующей надписи:

[email protected]:/#

Знакомых с понятием «root-права» эта строка пусть не пугает: приложение не причинит никакого вреда устройству, поскольку работает в «песочнице».

3. Введите следующую команду:

apt-get update

Дождитесь окончания загрузки пакетов. Об этом скажет строчка Reading package lists…Done.

4. Теперь введите ещё одну строчку:

apt-get upgrade

На вопрос «Do you want to continue?» введите английскую букву Y и нажмите Enter. Начнётся установка пакетов.

В этот раз процедура установки займёт немного больше времени. Терпеливо ожидайте окончания инсталляции до появления заветной строки:

[email protected]:/#

Среда Debian Linux установлена, и теперь можно перейти к разворачиванию графической оболочки.

5. Установка всех пакетов дистрибутива Linux выполняется следующей командой:

apt-get install lxde

Есть и вариант установки ядра системы с использованием строки:

apt-get install lxde-core

Подтвердите установку, повторно введя Y и нажав на клавишу Enter. Начнётся процедура загрузки пакетов.

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

6. Для завершения установки операционной системы необходимо загрузить три дополнительные утилиты:

  • XTerm — для доступа к терминалу из графической оболочки Linux;
  • Synaptic Package Manager — для управления пакетами apt и загрузки приложений;
  • Pulseaudio — для установки драйверов звука.

Все три утилиты устанавливаются с помощью одной команды терминала GNURoot:

apt-get install xterm synaptic pulseaudio

На устройство будет загружено около 260 МБ данных.

7. Теперь сверните приложение GNURoot и откройте ранее установленное XServer XSDL. Согласитесь с загрузкой дополнительных шрифтов. После окончания установки несколько раз тапните по экрану (приложение предложит выбрать разрешение и размер шрифтов — тут всё зависит от ваших предпочтений), пока не увидите заставку с синим фоном и белым текстом.

Повторно запустите GNURoot и поочерёдно введите следующие две команды:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712startlxde &

Последовательность дальнейшего перезапуска системы (когда вы захотите открыть Linux повторно) выглядит так: запускаете XServer XSDL и ждёте появления синего экрана, открываете GNURoot и вводите две указанные выше команды, возвращаетесь к XServer XSDL.

Если терминал ругается на недопустимую команду, вернитесь к пункту 5 данной инструкции и попробуйте установку «голого» ядра. Проверьте состояние памяти Android-устройства.

8. Теперь откройте XServer XSDL, подождите несколько секунд — и перед вами готовая к работе Linux.

Для установки приложений в нижнем левом углу откройте меню Start и выберите Run. Введите Synaptic и нажмите Enter.

В открывшемся окне воспользуйтесь поиском и установите нужные приложения. Это может быть браузер Firefox, редактор изображений GIMP, офисный пакет Libre и прочие совместимые с Linux программы.

Разумеется, такой вариант установки Linux нельзя назвать полноценным запуском операционной системы на Android. Виртуальная Linux имеет несколько ограничений, но при использовании беспроводных мыши и клавиатуры (возможно и подключение с помощью OTG-переходника и USB-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.

Источник: lifehacker.ru

Понравилась статья? Поделитесь с друзьями на Facebook:

lamp.im

Как установить Linux на Android-смартфон или планшет – Red Like

Подробная инструкция по превращению любого устройства, работающего под управлением Android, в полноценный компьютер на базе Linux.

Запуск Linux на Android возможен! И для этого не нужно устройство с root-правами: всё необходимое ПО доступно в официальном магазине Google Play. Всего за 10–15 минут вы сможете получить операционную систему, отличающуюся от Android расширенной функциональностью.

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

Перед установкой закройте все ненужные приложения и очистите оперативную память Android-девайса.

1. Из магазина Google Play установите GNURoot Debian и XServer XSDL.

2. Перед началом установки Linux убедитесь, что ваш девайс подключён к стабильной сети Wi-Fi. Запустите GNURoot. Начнётся загрузка необходимых пакетов среды.

Установка занимает от 30 секунд до нескольких минут в зависимости от скорости вашего интернет-подключения. Не обращайте внимания на бегущие строки до появления следующей надписи:

[email protected]:/#

Знакомых с понятием «root-права» эта строка пусть не пугает: приложение не причинит никакого вреда устройству, поскольку работает в «песочнице».

3. Введите следующую команду:

apt-get update

Дождитесь окончания загрузки пакетов. Об этом скажет строчка Reading package lists…Done.

4. Теперь введите ещё одну строчку:

apt-get upgrade

На вопрос «Do you want to continue?» введите английскую букву Y и нажмите Enter. Начнётся установка пакетов.

В этот раз процедура установки займёт немного больше времени. Терпеливо ожидайте окончания инсталляции до появления заветной строки:

[email protected]:/#

Среда Debian Linux установлена, и теперь можно перейти к разворачиванию графической оболочки.

5. Установка всех пакетов дистрибутива Linux выполняется следующей командой:

apt-get install lxde

Есть и вариант установки ядра системы с использованием строки:

apt-get install lxde-core

Подтвердите установку, повторно введя Y и нажав на клавишу Enter. Начнётся процедура загрузки пакетов.

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

6. Для завершения установки операционной системы необходимо загрузить три дополнительные утилиты:

  • XTerm — для доступа к терминалу из графической оболочки Linux;
  • Synaptic Package Manager — для управления пакетами apt и загрузки приложений;
  • Pulseaudio — для установки драйверов звука.

Все три утилиты устанавливаются с помощью одной команды терминала GNURoot:

apt-get install xterm synaptic pulseaudio

На устройство будет загружено около 260 МБ данных.

7. Теперь сверните приложение GNURoot и откройте ранее установленное XServer XSDL. Согласитесь с загрузкой дополнительных шрифтов. После окончания установки несколько раз тапните по экрану (приложение предложит выбрать разрешение и размер шрифтов — тут всё зависит от ваших предпочтений), пока не увидите заставку с синим фоном и белым текстом.

Повторно запустите GNURoot и поочерёдно введите следующие две команды:

export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712startlxde &

Последовательность дальнейшего перезапуска системы (когда вы захотите открыть Linux повторно) выглядит так: запускаете XServer XSDL и ждёте появления синего экрана, открываете GNURoot и вводите две указанные выше команды, возвращаетесь к XServer XSDL.

Если терминал ругается на недопустимую команду, вернитесь к пункту 5 данной инструкции и попробуйте установку «голого» ядра. Проверьте состояние памяти Android-устройства.

8. Теперь откройте XServer XSDL, подождите несколько секунд — и перед вами готовая к работе Linux.

Для установки приложений в нижнем левом углу откройте меню Start и выберите Run. Введите Synaptic и нажмите Enter.

В открывшемся окне воспользуйтесь поиском и установите нужные приложения. Это может быть браузер Firefox, редактор изображений GIMP, офисный пакет Libre и прочие совместимые с Linux программы.

Разумеется, такой вариант установки Linux нельзя назвать полноценным запуском операционной системы на Android. Виртуальная Linux имеет несколько ограничений, но при использовании беспроводных мыши и клавиатуры (возможно и подключение с помощью OTG-переходника и USB-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.

Источник: lifehacker.ru

RedLike.club – позитив, вдохновение и лайфхаки

Нажмите Нравится, →чтобы получать лучшие посты в Facebook.

Похожее

redlike.club

linux на android планшете / Хабр

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

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

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

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

плюсы и минусы минусы плюсы
нужны соответствующие модули ядра linux обновление прошивки до 2.2, заботливо собранную народными умельцами из стекла и картона + прошивки superpad 2
ушлые китайцы исходных кодов ядра под данный девайс не дают и всячески препятствуют их получению…

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

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

  • Linux – у меня kubuntu
  • windows – xp проще всего
  • хорошее усвоение сознанием двух фраз: «just for fun!» и «спокойствие, только спокойствие».
  • образ linux, тут смотреть, как создать свой ; созавать образ нужно под свою архитектура процессора, у меня процессор семейства arm11 с архитектурой arm6, так что ubuntu выше 9.10 – мечта… Если у вас arm cortex – то вам повезло и для вас открываются славные возможности последней ubuntu и заточенной под планшеты unity.
  • microsd флэшкарта, отформатированная в три раздела: fat, ext2, куда записывается образ, и swap
рассмотрим основные этапы загрузки 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 + razor-qt .«Наслаждаемся!» Итоги

Подключил репозитории debian 6. Не работает в упор звук, не настроен тач и рабочее пространство. Очень не хватает модулей ядра, так что попытаюсь собрать и прикрутить… Сбиты многие службы и политики, в интернет ходит только под root, но интернет настроен и это радует.

Ps: Да, без модулей ядра подключается только разделы в fat и ext2, что не радует. usb клавиатура + мышь будут очень ценными при отладке и настройке.

Теперь о том, что можно использовать в процессе ramdisk от zt-180 burntool Набор для перепаковки ramdiskа. Бинарники нужно закинуть в свой PATH. Спасибо за внимание

habr.com

Пошаговая установка Debian на планшет

Вступление

Несмотря на обилие операционных систем, наиболее популярными и общепринятыми являются несколько. Если для компьютера чаще всего пользователи выбирают между Windows или Mac OS, то для мобильных устройств это Android или iOS. Тем не менее, во всём мире растёт число приверженцев свободно распространяемой операционки Linux. Если в компьютерных кругах она более-менее известна, то планшетов на её основе совсем мало, буквально несколько моделей.

Установка Debian на планшетПроцесс инсталляции отличается в зависимости от операционной системы планшетного ПК

Дистрибутивов Linux существует большое количество, но одним из самых известных, при этом очень стабильным, является Debian. Если его инсталляция на компьютер относительно несложная, то с планшетом придётся повозиться. Предлагаем рассмотреть пошагово, как производится установка Debian на планшет на базе различных операционных систем. Кроме того, рассмотрим, как правильно устанавливать deb-пакет в установленном Debian или на iOS с джейлбрейком.

Установка Debian на Windows-планшет

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

Установка Debian на планшет с Windows

Чтобы установить на Windows-планшет операционную систему Debian, он должен соответствовать таким требованиям:

  • Иметь достаточную мощность процессора и объём оперативной памяти.
  • Иметь возможность выбора загрузочного устройства в настройках BIOS или UEFI (некоторые производители блокируют такую возможность).
  • Иметь подключённую через USB внешнюю клавиатуру.

Если основные требования выполнены, приступаем к установке.

  1. Качаем установочные образ Debian с официального сайта. Он распространяется в виде образа диска формата .iso.
  2. С помощью приложения Rufus создаём загрузочную флешку. Выбираем наш .iso файл и нажимаем «Старт».Создание загрузочной флешки в приложении Rufus
  3. Втыкаем флешку в USB-разъём планшета и входим в режим BIOS. Для этого должна быть подключена клавиатура. Выбор приоритета загружаемых файлов происходит в разделе Boot — Boot device priority или, как вариант, Hard Disc Drives priority (всё из-за того, что в некоторых случаях флешка определяется как жёсткий диск).
  4. После загрузки меню установки выбираем свой вариант и версию системы, например, «Графическая установка 64 бита».Выбор графической оболочки
  5. Переходим по всем этапам, предлагаемым установщиком, выбираем нужные нам пункты, вводим нужные данные. В конце выбираем интересующее нас графическое окружение.Установка нужных компонентов
  6. Система автоматически загружает недостающие компоненты и группы пакетов из интернета.Инсталляция программного обеспечения
  7. После завершения установки загрузите планшет и наслаждайтесь установленным Debian.

Интерфейс оболочки Debian

Установка Debian на Android-планшет

Если с установкой на Windows-устройство особых проблем возникать не должно, то с Android всё далеко не так просто. Можно долго доказывать, что и Debian, и Android выполнены на основе ядра Linux, но на самом деле они практически несовместимы. Дело в том, что в Андроид-планшетах в подавляющем большинстве случаев применяются процессоры на ARM-архитектуре. И даже при условии, что планшет имеет процессор Intel (такие часто устанавливает, например, Asus), другие компоненты не имеют универсальной совместимости с другими системами. Возможно, знатоки укажут на официальный порт Debian для архитектуры arm64, но он ещё в процессе разработки и является нестабильным. Итак, что нужно, чтобы установить Debian на Android?

Установка Debian на Android

Необходимые условия для полной установки

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

Универсального способа не существует, каждый случай рассматривается отдельно и может отличаться на отдельно взятом устройстве. Вдобавок даже не рассчитывайте на то, что, не имея навыков программирования, у вас получится без головной боли установить Debian вместо Android. Приводим лишь только примерный алгоритм.

  1. Находим и качаем необходимые файлы и архивы.
  2. С помощью инструмента «Дисковая утилита» на ПК с Linux отформатируйте карту памяти и смонтируйте необходимые разделы. Обязательно должны присутствовать как минимум два раздела: для загрузчика и для работы самой операционной системы.Монтирование разделов с помощью Дисковой утилиты
  3. Получите рут-права на устройство и прошейте кастомное ядро с поддержкой Linux.
  4. Выполните установку Debian на планшет.

Дистрибутив Debian на планшете с Android

Более подробную информацию ищите на специализированных форумах в ветках, посвящённым конкретной модели планшета. Предупреждаем, если вы вообще не смыслите в программировании, лучше не рискуйте!

Linux Deploy

Самый верный и надёжный, а зачастую и единственно доступный вариант. На самом деле это не полноценная установка Debian, а её эмуляция. От вас потребуется соблюдение некоторых условий и установленная программа. Само приложение Linux Deploy(https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy&hl=ru) монтирует созданный образ диска на флешке либо другом носителе и инсталлирует в него выбранный дистрибутив операционной системы. Таким образом на устройстве будут параллельно функционировать две операционки. Установка выполняется путём скачивания через интернет нужных файлов с официальных ресурсов.

Обзор программы Linux Deploy

  1. Получите рут-права, активируйте интернет-соединение.
  2. Загрузите и установите приложение Linux Deploy, включите его.
  3. В меню программы перейдите в Настройки — Обновить окружение, а затем «Не отключать экран».Настройка утилиты Linux Deploy
  4. Создайте новый профиль, настройте его и выберите параметры установки (подробное их описание — http://meefik.ru/blog/2012/11/19/linuxdeploy-properties/).Создание нужного профиля
  5. Установите BusyBox(https://play.google.com/store/apps/details?id=ru.meefik.busybox).Установка приложения BusyBox
  6. Запустите инсталляцию через Параметры — Установить и дождитесь окончания процедуры (примерно полчаса).Ожидание установки Debian
  7. Запустите ваш Debian кнопкой СТАРТ.
  8. Для остановки нажмите СТОП.

Запуск и остановка операционной системы

Таким способом вы практически полноценно сможете пользоваться Linux. Но опять же, стопроцентной гарантии успеха никто дать не сможет. Всё на ваш страх и риск.

Complete Linux Installer

Ещё одно приложение для эмуляции установки Debian и других Linux-дистрибутивов. Вам потребуется наличие интернета для скачивания файлов и рут-права.

Интерфейс Complete Linux Installer

  1. Скачайте и установите программку с Play Маркета (https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid).
  2. При первом запуске подтвердите запрос на установку дополнительных компонентов, разрешите root-права.Запрос на установку компонентов
  3. Войдите в окно «Руководство по установке», подождите, пока программа просканирует вашу систему на совместимость и выберите интересующий вас пакет Linux.Выбор дистрибутива Linux
  4. Создайте в корне карты памяти папку с названием вашей новой системы.
  5. Распакуйте скачанный образ Debian в указанную папку.
  6. В меню выберите пункт Запуск — Установки — Изменить, пропишите путь к основному файлу в папке, куда вы распаковали архив с системой.
  7. Тапните по кнопке «Запустить Linux», запустится терминал, разрешите для него права суперпользователя.Запуск оболочки Linux
  8. Наслаждайтесь работой альтернативной операционной системы.

Запуск и установка deb-пакетов

На планшете с установленным Linux

После установки новой операционки возникает потребность в приложениях. Если вам удалось подружить свой планшет с Debian, в меню присутствует магазин приложений. Кроме того, дистрибутив поставляется с определённым набором встроенных приложений и большинство нужных программ уже есть. Тем не менее, некоторые приходится доустанавливать уже в процессе. Это можно сделать несколькими способами: через магазин приложений и с помощью deb-пакетов.

Установка deb-пакетов для Linux

В первом случае нужно войти в программу на планшете, ввести в поисковой строке название нужного софта и нажать «Установить». Система автоматически установит выбранный пакет. Во втором уже придётся найти пакет программы с расширением .deb и установить, как обычное приложение либо через терминал (аналог командной строки). Единственный минус такого способа в том, что нужно будет докачивать нужные зависимости.

На iPad с джейлбрейком

Ещё одна область, в которой вам может понадобиться установить deb-пакет, это установка твиков, или настроек, на iPad с джейлбрейком. После процедуры взлома появится магазин приложений Cydia, через который распространяются программы и настройки для взломанных аппаратов (здесь подробно описывается, как им пользоваться). Но иногда под рукой нет быстрого интернета или же нужный репозиторий попросту не подключён, а нужная настройка распространяется через какой-то сайт в виде deb-пакетов.

Чтобы установить её таким способом, вам понадобится:

  • Компьютер с установленным файловым менеджером iFunBox либо iTools.
  • Устройство iOS с джейлбрейком.
  • Соединительный кабель.

Процесс установки пакетов deb выполняется в несколько этапов:

  1. Скачайте на компьютер либо ноутбук deb-пакет.
  2. Соедините кабелем девайс с ПК.
  3. С помощью файлового менеджера скопируйте пакет deb в папку /var/root/Media/Cydia/AutoInstall.
  4. Перезагрузите девайс.

Использование файлового менеджера на iPad

Можно обойтись и без компьютера, если на взломанный iPad установлен файловый менеджер iFile. При скачивании пакетов система автоматически предложит установить твик. Вам потребуется лишь перезагрузиться.

Заключение

Установка операционной системы Debian и использование deb-пакетов требует определённых познаний. В некоторых случаях вам просто невозможно обойтись без познаний в программировании. Если вы не уверены в своих силах, изучите все возможные ситуации на специализированных ресурсах.

Надеемся, что у вас всё получилось. Пишите в комментариях о своих успехах.

Жми "Нравится" и читай лучшие посты на Facebook

protabletpc.ru

Установка Archlinux на телефон с Android во второй раздел SD или просто подпапку системной карты памяти / Хабр

image

Привет всем. Тут уже была статья на тему Botbrew, где в целом описано что это такое и что это дает. Вкратце:

Проект BotBrew призван решить многие проблемы с установкой Linux-софта, которые только могут возникнуть у пользователя, и подготовить систему Android к принятию инородных для нее приложений. Обычный, классический Botbrew имеет свой репозиторий, но в нем мало пакетов, что грустно. Тем, кто действительно хочет беспредельничать, понравится Borbrew-Basil, который использует дебиановский репозиторий emdebian. Однако, с ним нынче тоже все грустно, так как As of July 2014, updates to the Emdebian distributions ceased. There will be no further updates and no further stable releases. Получается, что даже те, кто когда-то поставил себе emdebian, нынче в пролете. Данный пост будет о том, как поставить на рутованный телефон Archlinux, но не как обычно в loop образ, а на родную файловую систему Android или второй раздел SD. Предполагается, что имеется рутованный телефон с установленным busybox, включенной отладкой по USB и утилита adb на основном компьютере. Первое, что нам понадобится — создать папку, куда будем ставить наш линух. Варианта два — папка на разделе /data или отдельный ext4 раздел карты памяти. Во втором случае раздел надо будет как-то смонтировать в основную ФС телефона. Сделать это можно например с помощью Link2SD. Далее я буду исходить из того, что используется второй раздел SD, смонтированный в /data/sdext2, ставить будем в папку /data/sdext2/arch. Также надо понять, репозиторий для какой архитектуры процессора будем использовать. У меня Qumo Quest 454 с процессором armv7l и для него подошел http://mirror.archlinuxarm.org/arm/.

Подключаем телефон по USB, заходим на него через adb и понеслась.

Для минимальной установки понадобятся следующие пакеты (выполняем от рута, версии пакетов со временем могут стать новее):mkdir -p /data/sdext2/arch/packages cd /data/sdext2/arch/packages wget http://mirror.archlinuxarm.org/arm/core/acl-2.2.52-2-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/attr-2.4.47-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/bash-4.3.030-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/bzip2-1.0.6-5-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/curl-7.39.0-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/e2fsprogs-1.42.12-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/expat-2.1.0-4-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/filesystem-2014.10-3-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/gcc-libs-4.9.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/glibc-2.20-4-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/gpgme-1.5.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/keyutils-1.5.9-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/krb5-1.13-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libarchive-3.1.2-8-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libassuan-2.1.3-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libgpg-error-1.17-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libidn-1.29-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/libssh3-1.4.3-2-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/lzo-2.08-3.1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/ncurses-5.9-6.1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/openssl-1.0.1.j-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/pacman-4.1.2-7-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/pacman-mirrorlist-20141208-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/readline-6.3.006-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/util-linux-2.25.2-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/xz-5.0.7-1-arm.pkg.tar.xz wget http://mirror.archlinuxarm.org/arm/core/zlib-1.2.8-3-arm.pkg.tar.xz

После того, как все скачалось, распаковываем:

cd /data/sdext2/arch tar xvf packages/*.pkg.xz

У нас получилось что-то типа минимальной установки Archlinux. Теперь попробуем сделать в нее chroot, предварительно смонтировав системные папки ():

busybox mount -t proc none ./proc busybox mount -o rbind /dev ./dev busybox mount -t sysfs none ./sys busybox mount -t tmpfs none ./tmp busybox mount -o size=10%,mode=0755 -t tmpfs none ./run chroot . /bin/bash

Если все прошло успешно, то запустится bash из нашего минимального окружения и станет доступен pacman. У меня при запуске любого процесса система ругалась, что не может найти libsuc.so, описанный в LD_PRELOAD. В этом случае просто чистим LD_PRELOAD:

export LD_PRELOAD= Итак, мы в chroot'е, у нас работает pacman и bash. Первым делом приведем в порядок то, что есть. Пропишем DNS и загрузим репозитории:echo "nameserver 8.8.8.8" > /etc/resolv.conf pacman -Sy

Теперь поставим официально то, что просто так распаковали и добавим остальные минимально необходимые для жизни пакеты и еще вернем на место dns, который нам побила установка filesystem:

pacman -S base --force --noconfirm echo "nameserver 8.8.8.8" > /etc/resolv.conf

Если все прошло удачно, то имеем полноценный за вычетом systemd и ядра Archlinux. Выходим из chroot и размонтируем все, что намонтировали:

exit umount ./dev/pts umount ./dev/cpuctl umount ./proc umount ./sys umount ./tmp umount ./run Чтобы пользоваться тем, что получилось легко и просто, прикрутим init от botbrew-basil. Это утилита, которая проверяет, смонтировано ли у нас все, что надо и делает chroot в наше окружение. Я не смог найти, как скачать ее с репозитория botbrew, поэтому пока что просто выложил на Яндекс.Диск, ссылка. Копируем init в /data/sdext2/arch и добавляем атрибут на исполнение.

Заходим в adb shell и набираем:

/data/sdext2/init /bin/bash

В результате все, что надо само однократно подмонтируется и мы окажемся в свежепоставленном Arch. В виде бонуса init создаст в корне chroot'а папки /storage, /mnt и /android, куда смонтирует куски оригинальной файловой системы.

Чтобы наслаждаться линухом не через USB провод, а прямо с телефона, можно прописать /data/sdext2/init /bin/bash в качестве шела в любимом терминале. Дальше можно по вкусу создать пользователей, поднять sshd и т.п. Но любой арчевод и так знает, как это сделать, поэтому здесь про это писать не буду.

Спасибо за внимание, дополнения и исправления приветствуются.

UPDATE: небольшой скрипт, который я запускаю один раз после ребута

Скрипт инициализации#!/bin/bash if [[ `whoami` != "root" ]] then sudo bash $0 [email protected] exit $? fi chmod 777 /tmp c=`ps afx | grep /usr/sbin/sshd | grep -cv grep` if [[ "$c" != "1" ]] then echo Strating sshd /usr/sbin/sshd else echo sshd already started fi if [[ ! -e /dev/fd ]] then echo Creating /dev/fd links ln -s /proc/self/fd /dev/fd ln -s /proc/self/fd/0 /dev/stdin ln -s /proc/self/fd/1 /dev/stdout ln -s /proc/self/fd/2 /dev/stderr fi if [[ ! -e /dev/net/tun ]] then echo Creating /dev/net/tun mkdir /dev/net ln -s /dev/tun /dev/net/tun else echo /dev/net/tun already exists fi

habr.com


Смотрите также