Переселение души: linux на android планшете. В чем разница между Linux и Android Операционная система linux и андроид

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

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

На какие модели телефонов можно, например, установить Linux? На сайте www.linuxmobile.org есть прошивки по крайней мере на несколько моделей. На эти модели можно установить прошивку, основанную на Android. Если вы не знали, то Android — это тоже Linux.

На какие же телефоны его можно установить linux ?

Motorola Atrix Motorola Razr HD Cyanogen Mod 10 Cyanogen Mod 9 Cyanogen Mod 7

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

Конечно, разработчики предупреждают, что вы используете эти прошивки на свой страх и риск, и это понятно. Но с другой стороны, разве простой пользователь возьмётся ставить Linux на телефон? Ему это просто не нужно, это удел людей, хорошо разбирающихся в теме. Да, было бы здорово установить на мой старый телефон Linux, жаль его нет в списке….

Linux на планшет — стоит ли ставить?

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

Первый вопрос, который возникает у тех, кто хочет загрузить Linux в планшет — это вопрос о том, какой Linux поставить? Тут сразу стоит снять розовые очки: любой Linux, который вы ставите на обычный компьютер, на планшет не установить.

Дело в том, что большинство планшетов сегодня делают на базе процессоров, которые имеют структуру ARM. Поэтому самый простой вариант установить Linux на свой гаджет — это купить планшет именно с обычной архитектурой x86. Вычислить такой планшет не трудно, так как на нём скорее всего будет предустановлена Windows 7 или нечто подобное. Купив такой планшет вы сможете установить на него любой Linux.

Но найти такой планшет сегодня не так легко, да и найдя, он вам возможно не понравится внешне или по характеристикам.

Запуск Linux на Android

Какой же выход? А выход один: найти OS Linux, который уже портировали под процессор ARM. Таких разработок сегодня уже не много, и один из вариантов — это Kali Linux. Но это лишь один из вариантов. Если вы наберёте в поисковой системе фразу «Linux ARM», то можете увидеть, какие Linux уже работают на этом процессоре. Вот некоторые из них:

Arch Linux ARM DebianLinux на ARM UbuntuLinux на ARM Gentoo Linux на ARM

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

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

В общем, нужно тысячу раз подумать, прежде чем ставить Linux на свой планшет. Может его время ещё не настало?

18+ © Seclub.org 2003-2018

В рамках этой статьи мы детально расскажем как установить 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 завершена.

Почему :

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

Просто в андроиде много всего и активно используется интерфейсы в виде файловых систем.

Ну бывает.

Можно ли установить Linux на телефоне?

Развитие всегда через ошибки.
Может, просто не делать так?

Да где угодно. Это скорее вопрос по андроиду, чем к unix-форуму. Отсутствие строк в fstab не запрещает монтировать просто командой.

Смартфон или планшет Android — это невероятно универсальное устройство, которое можно использовать различными способами. Сегодня мы покажем, как запустить обычную настольную версию Linux на Android — это очень просто, не требует root и никак не мешает нашему Android.


Существует несколько способов установки Linux в виде различных дистрибутивов (например, Ubuntu). Мы, однако, покажем самый простой способ быстро установить базовую, необработанную версию Linux на основе Debian на нашем смартфоне или планшете без root. Мы также покажем вам, как устанавливать такие программы, как текстовый редактор, графический редактор и веб-браузер.

Операция полностью безопасна, файлы Android не изменены. Установка Linux не влияет на нашу оригинальную мобильную систему на вашем смартфоне, Linux просто будет другим приложением на вашем телефоне / планшете, которое мы можем удалить в любое время. Все, что нам нужно, составляет около 600 МБ свободного места во внутренней памяти телефона.

Вся установка автоматизирована благодаря приложению Debian Noroot. Он позволяет мгновенно загружать все необходимые файлы и устанавливать их на Android. Linux будет отображаться как другое приложение для Android и может быть запущен или закрыт в любое время.

Загрузить Debian Noroot

Мы загружаем приложение из приведенной выше ссылки. Само приложение занимает около десятка мегабайт в Play Маркете, но позже мы все равно загружаем около 200 МБ файлов Linux, поэтому обязательно подключайтесь к Интернету через Wi-Fi.

После загрузки приложения мы запустим его. Появится сообщение о том, что приложение загрузит упомянутый 200 МБ, и после распаковки он займет около 600 МБ в памяти телефона. Мы еще раз убеждаемся, что у нас достаточно свободного места на телефоне, и мы подключаемся к Интернету через Wi-Fi. После нажатия кнопки «ОК» приложение также попросит вас выполнить калибровку гироскопа — мы должны поместить телефон на ровную поверхность и дождаться завершения операции.

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

Использование Linux на Android

Это очень простая версия Linux, лишенная какого-либо дополнительного программного обеспечения — у нас есть только рабочая система, остальные должны быть установлены сами.

Вы перемещаете курсор мыши, перемещая палец по экрану. Нажатие на экран имитирует щелчок левой кнопкой мыши. Клавиатура вытягивается с помощью физической кнопки «Отменить» на крышке телефона. Если у нас есть виртуальные кнопки вместо физических, их нужно выталкивать, перемещая палец с верхнего края экрана вниз.

Теперь мы можем обновить системные пакеты и перейти к установке наиболее необходимых программ.

Обновление системных файлов и установка программ

Мы не найдем здесь небольшой магазин с приложениями, подобными Ubuntu, — мы должны установить все, используя терминал и соответствующие команды. Однако это не сложно. На рабочем столе вы найдете значок «Корневой терминал» — мы запускаем его.

Появится окно терминала — теперь мы расширяем клавиатуру и вводим следующую команду:

Обновление apt-get

Мы подтверждаем это с помощью клавиши «Enter» на виртуальной клавиатуре. Это позволит загрузить и установить соответствующие системные пакеты, необходимые для последующей установки и запуска программ веб-браузера.

После обновления мы можем перейти к установке программ. Мы делаем это с помощью команды, аналогичной приведенной выше, а также введите имя пакета приложения. Например, чтобы установить браузер IceWeasel (браузер на основе Firefox), введите следующую команду:

apt-get install iceweasel

После подтверждения ввода терминала терминал подключится к серверу и начнет загрузку и установку пакета. Необходимо будет подтвердить буквой «t» («Да») желания установить — при появлении этого сообщения клавиатуру нужно снова выталкивать, ввести «t» и нажать «Ввод».

Мы делаем то же самое с установкой других программ, таких как офисный пакет LibreOffice (apt-get install libreoffice) и графический редактор Gimp (apt-get install gimp). Аналогичным образом мы устанавливаем другие программы, предоставляя имя пакета. Имена можно найти в репозиторий пакетов Debian Wheezy — все программы делятся на категории, и для каждого из них мы найдем описание и имя для ввода.

После установки они будут отображаться в локальном меню «Пуск», которое доступно в верхнем левом углу. Приложения, которые идут туда, сразу же помещаются в соответствующую категорию. Например, веб-браузер Ice Weasel можно найти в разделе «Интернет».

Удобное использование Linux на Android

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

Мы можем пойти дальше и, например, в Allegro или в местном компьютерном магазине, купите кабель HDMI, который позволит вам подключить свой телефон или планшет к вашему монитору или планшету. Нам понадобится кабель с микро-USB-разъемом на одной стороне и HDMI на другом (мы также должны убедиться, что наш монитор поддерживает этот вход, или, может быть, он оборудован только с DVI). Стоимость такого адаптера составляет около 15 злотых. Затем у нас есть настоящий мини-компьютер, который мы контролируем с помощью клавиатуры и мыши, а изображение отображается на мониторе или телевизоре.

Чтобы выйти из Linux, просто откройте меню в верхнем левом углу и выберите опцию «Выход». Система будет закрыта, и мы немедленно вернемся к Android. Чтобы перезапустить Linux, просто выберите значок «Debian» в списке приложений, установленных на вашем телефоне.

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

Linux или не Linux?

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

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

BotBrew: список поддерживаемых устройств

BotBrew был протестирован на следующих устройствах: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, Samsung Galaxy Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony Ericsson Xperia X8, Asus EeePad Transformer TF101.

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

Ну и довершает картину то, что в Android просто нет многих стандартных компонентов Linux, включая, например, даже такие неотъемлемые, как графический стек X Window или библиотека GTK+. Кое-какие попытки все это сюда принести, конечно, предпринимаются, но дальше полурабочих альфа-версий дело не двигается.

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

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

BotBrew

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


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

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

$ 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 Basil

В маркете можно найти также приложение под названием 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, позволяющий подключать репозитории 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

# 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.

Является очень популярной, особенно в среде системных администраторов и разработчиков программного обеспечения. Огромное количество различных устройств работает под его управлением. К сожалению, мобильных устройств, таких, как планшет, с родной поддержкой Linux практически не существует. На данный момент выпущена всего лишь одна модель, работающая на Ubuntu. Но купить её может быть не так просто, поскольку доступен он не в каждой стране.

При желании можно установить на планшет Linux, заменив Android.

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

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

Что вам понадобится:

  • Планшет на Андроиде.
  • SD-карта объёмом 3,5 ГБ и больше.
  • root-доступ
  • полная резервная копия всех данных для стопроцентной уверенности безопасного исхода. Вы перемещаете большие файлы и выполняете множество операций, поэтому это просто необходимо.

ВАЖНО. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ. Несмотря на то что этот процесс не наносит никакого ущерба, редакция сайта не несёт ответственности, если что-то случится с вашим Андроид-девайсом в процессе установки или запуска Ubuntu.

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

Библиотеки BusyBox помогут вам взаимодействовать с системой Андроид. Вы можете скачать инсталлятор из Play Store (или Android Market), перейдя сюда (https://play.google.com/store/apps/details?id=stericson.busybox) и загрузив его. Перейдите на вкладку «Установка BusyBox» и нажмите кнопку «Установить». Как только утилита будет установлена, можно перейти к следующему шагу, установив эмулятор терминала.

Шаг 2. Установка эмулятора терминала и проверка правильности его работы.

Самый популярный эмулятор терминала на Андроид находится на этой странице (https://play.google.com/store/apps/details?id=jackpal.androidterm) в Play Market. Перейдя по ссылке, скачайте его, установите на планшет и запустите.

После того как откроется рабочее окно приложения, введите слово «su». Утилита запросит у вас предоставить root-доступ, и вы должны дать их, поскольку утилита запускает системные скрипты, которые мы позже будем использовать для запуска Ubuntu.

Чтобы проверить, работают ли правильно терминал и библиотеки BusyBox, введите команду «busybox arping –help». Если терминал выдаст вам текст с множеством параметров, таких как -f -q -b, всё работает. Если нет, проверьте, есть ли в вашем телефоне рут-права, правильно ли выполнена установка BusyBox, и есть ли у терминала разрешения. Если всё в порядке, можно продолжить.

Если вы закончили всё необходимые действия шагов 1 и 2, не нужно беспокоиться. Следующие несколько шагов очень просты. Начните с подключения телефона к компьютеру . Вы должны включить USB-накопитель, что позволит открыть вашу SD-карту на компьютере (большинство из вас, когда перемещали музыку и другие файлы с компьютера на Андроид, знают об этом).

Далее необходимо создать папку с названием «Ubuntu» на SD-карте. Затем вы должны скачать этот (https://sourceforge.net/projects/linuxonandroid/files/Ubuntu/10.10/ubuntuV5-image.zip/download) и этот (https://sourceforge.net/projects/linuxonandroid/files/Ubuntu/10.10/ubuntuV5-script.zip/download) файлы. Это ZIP-файлы, которые содержат 2 важных вещи: скрипт запуска и файловую систему Ubuntu. Если вы откроете первый ZIP-архив, то найдёте IMG-файл, а если распакуете второй файл, то обнаружите SH-файл.

Разархивируйте оба архива и переместите файлы в папку «Ubuntu». Теперь у вас должно быть два файла в папке. Большинство необходимых процессов завершено.

Шаг 4: Запуск системы Ubuntu

Вернитесь к терминальному приложению и снова напишите «su», затем напишите «cd / mnt / sdcard». Чтобы убедиться, что все работает, попробуйте написать «ls» и посмотреть, сможете ли вы распознать свои папки (вы также сможете найти папку Ubuntu).

Чтобы запустить ваш Убунту, напишите «cd / ubuntu», а затем «sh ubuntu.sh». Это приведёт к выполнению многих процессов, которые попытаются установить вашу систему. Далее утилита запросит выбрать разрешение экрана. Введите его в формате ширина x высота, например, 1280 x 720. Для более лучшей производительности, чтобы планшет не тормозил, выбирайте разрешение поменьше. Теперь всё сделано.

Система Ubuntu работает, однако мы не можем её увидеть. Чтобы увидеть графический интерфейс, нужно использовать клиент протокола VNC. Мы можем скачать любой из них из Play Store.

Запустите программу и введите такие данные:

  • логин: user
  • пароль: ubuntu
  • адрес: localhost

ВНИМАНИЕ. Если вы не хотите повредить систему Ubuntu, всегда пишите «exit» в терминале, прежде чем завершить работу или выключить планшет.

Заключение

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

Получилось ли у вас запустить Linux на вашем планшете? Расскажите нам в комментариях.

После которой я и решился приобрести чудо китайского планшетостроения: 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 + razor-qt .
«Наслаждаемся!»
Итоги

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

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

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