Линукс на смартфон


Устанавливаем Linux-дистрибутив на телефон и планшет под управлением Android — «Хакер»

Содержание статьи

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

 

Зачем?

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

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

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

 

Как?

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

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

 

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

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

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

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

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

 

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

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

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

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

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

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

 

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

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

BackTrack, запущенный на планшете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AndroidVNC — подключаемся к рабочему столу

 

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

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

Проект «Ubuntu for Android» в действии

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

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

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

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

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

Ubuntu на Galaxy Tab 10.1

 

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

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

Нативный X-сервер для Android

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

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

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

Запуск Ubuntu с помощью стартового скрипта

 

Что дальше

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

 

WWW

goo.gl/UGDe3 — описание процесса подготовки образа Ubuntu собственными силами (на английском).

 

xakep.ru

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

Многие владельцы 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, использующая собственный репозиторий, позволяет устанавливать такой софт, как dcron, GCC, Git, SSH-сервер dropbear, консольный браузер Lynx, сканер безопасности Nmap, инструмент бэкапа rsync, редактор Vim, веб-сервер lighttpd, скриптовые языки Python и Ruby, а также несколько десятков других пакетов. Устанавливается это все, кстати говоря, в выделенный каталог во внутренней памяти смартфона/планшета и никак не захламляет основную систему. Другими словами, избавиться от BotBrew и всего, что ты установил, можно будет, просто удалив один каталог.


Итак, как же использовать BotBrew для установки Linux-софта? Для начала нам понадобится пакет с самой программой. Он есть в Google Play (отмечу, что нужен BotBrew root, а не экспериментальный Bazil) и весит меньше мегабайта. После установки запускаем и нажимаем кнопку «Proceed» внизу экрана, чтобы софтина выкачала все необходимые для ее работы компоненты, такие как консольный менеджер пакетов, и другие утилиты (в терминах Debian Linux — bootstrap). Весят они всего несколько мегабайт, поэтому ждать придется недолго. По окончании установки BotBrew выведет на экран окно с официальной интернет-страницей проекта, которое можно смело закрывать.

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


Если во время bootstrap’а BotBrew возникли проблемы, ты можешь попробовать установить его вручную с помощью следующей команды:
wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | su

Если и это не помогло, можно попробовать удалить все установки («Remove BotBrew» в настройках) и затем попробовать запустить эту команду.

После этого пакет появится на вкладке «Installed», однако никакой кнопки «Run» или чего-то подобного ты не увидишь. Приложение придется самостоятельно запускать из консоли, что, впрочем, логично. Само приложение устанавливается внутрь каталоговой структуры /data/botbrew, в котором «эмулируется» реальное окружение Linux-дистрибутива с каталогами /etc, /usr и другими. А чтобы не мучить пользователей необходимостью набирать полный путь до команды, разработчики BotBrew предусмотрели одноименную команду-враппер. Чтобы с ее помощью запустить, например, установленный консольный браузер Lynx, следует набрать такую команду:

$ botbrew lynx http://xakep.ru

Как вариант — каталог /data/botbrew/bin можно добавить в переменную окружения PATH, но это придется делать после каждого запуска терминала:


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


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

$ export PATH="$PATH:/data/botbrew/bin"

С демонами и разными сетевыми сервисами, кстати, дела обстоят намного лучше. После старта демоны сразу будут запущены, а управлять их включением можно через графический интерфейс, доступный по нажатию на кнопку «Play» в нижней части интерфейса BotBrew. Некоторые приложения могут потребовать создания дополнительных пользователей и изменения их параметров, это можно сделать так же, как в обычной Linux-системе:
  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 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, позволяющий подключать репозитории 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

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

Операционная система Android основана на ядре Linux, поэтому запуск Linux на Android смартфоне возможен, и даже не так сложен как кажется. Полностью заменить Android на Linux не получится из-за особенностей ARM загрузчика и большого разнообразия драйверов устройств, которые поддерживаются только ядрами производителей. Можно разве что установить специально адаптированную Ubuntu Phone, но это уже совсем другая история. Запускать Linux в эмуляторе мы тоже не будем, мы возьмем ARM версию дистрибутива Linux и запустим его в chroot контейнере уже работающего ядра Android.

Содержание статьи:

Нам понадобиться

  • Смартфон или планшет на базе ОС Android с ROOT правами;
  • Программа автоматического развертывания Linux - Linux Deploy;
  • BusyBox;
  • SSH клиент - ConnectBot;
  • X Сервер для Android - XSDL Server;

Весь перечисленный софт можно скачать и установить с Google Play или форума 4pda. Далее, я буду предполагать что на вашем устройстве уже есть Root права. Начнем запуск linux на android.

Подготовка смартфона

Сначала устанавливаем BusyBox. Зайдите на страницу программы в Google Play и нажмите установить. Когда программа установится, нужно ее запустить и еще раз нажать кнопку install для распаковки всех необходимых компонентов:

Остальные программы устанавливаются стандартным способом из Google Play.

Развертывание Linux на Android

Устанавливать Linux будем с помощью приложения Linux Deploy. Запустите приложение, откройте главное меню программы и выберите пункт Настройки:

Здесь желательно поставить галочки не отключать экран и не отключать wifi, чтобы эти функции работали во пока вы не выключите Linux:

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

Больше ничего в настройках менять не нужно, Переходим к установке Linux. В главном окне коснитесь значка с логотипом загрузки:

Перед тем как нажать кнопку установить необходимо настроить параметры будущей системы, сначала выберите дистрибутив и версию системы, например, Ubuntu Wily, архитектуру, можно оставить как есть armhf:

Дальше выбираем путь образа диска куда будет установлена система, мы будем устанавливать способ в файл. По умолчанию размер образа - 512 Мб, рекомендую взять с запасом если планируете устанавливать графическую оболочку и дополнительные программы. Для LXDE, XFCE понадобиться еще 500 Мб, а для KDE и Gnome - 1,3 Гигабайт:

Потом меняем имя пользователя и пароль, локаль выбираем ru_RU.UTF-8 для поддержки русского языка:

Выбираем окружение рабочего стола если нужно и дополнительные компоненты. Окружение у нас будет LXDE, дополнительные компоненты оставляем только окружение рабочего стола и ssh сервер. Х сервер нам не нужен, так как будем использовать XSDL Server.

Потом ставим галочку напротив GUI:

Графическая подсистема - Х сервер:

В параметрах GUI Номер дисплея - 0, Адрес Х-сервера - ваш адрес в Wifi сети или 127.0.0.1. Галочку XSDL Server не ставим, так как при каждом запуске Х сервер запускается с новым номером дисплея, таким образом, если с первого раза система не запустится номер дисплея уже будет не соответствовать тому что мы указали в настройках и нужно будет перезагружать устройство:

Дальше можете возвращаться в самый верх и нажимать кнопку установить. Установка linux на android займет около полчаса.

Запуск Linux

Осталось запустить linux на смартфоне. Сначала запускаем XSDL Server, выбираем расширение экрана:

Затем размер шрифта:

Переходим в Linux Deploy и нажимаем кнопку старт:

Возвращаемся в XSDL Server и ждем пока загрузится оболочка:

Вот и все, теперь можно работать в установленной системе, устанавливать приложения, смотреть видео и даже попытаться играть в компьютерные игры. Запуск linux программ на android - не такое уж сложное дело.

Небольшой гайд по управлению XSDL сервер:

  • Чтобы открыть виртуальную клавиатуру нажмите кнопку назад.
  • Для клика правой кнопкой мыши коснитесь двумя пальцами экрана.
  • Отмена последнего действия - кнопка меню.

Доступ SSH доступ к Linux

Для доступа по SSH к установленной системе мы скачали ConnectBot. Откройте приложение и наберите:

имя_пользователя@localhost

Затем введите пароль, выбранный при установке системы, дальше вы окажетесь в оболочке Linux:

Решение проблем

Если во время создания образа возникает ошибка:

Making new disk image (4095 MB) ... fail
dd: opening `/storage/emulated/0/linux.img': No such file or directory

Замените в пути 0 на legacy.

А если такая ошибка:

dd: opening `/storage/sdcard0/linux.img': Read-only file system

Это значит что в вашей системе используются пространства имен для различных пользователей, то есть флешка примонтирована для пользователя, но не для root'a. Поэтому откройте SuperSU и в настройках снимите галочку Создать поименное разделение пространств:

Выводы

Вот и все. вы смогли успешно запустить Linux на смартфоне. Эта система не настолько эффективна как на персональном компьютере, но тоже сильно расширяет возможности Android смартфона. Если у вас остались вопросы, спрашивайте в комментариях!

losst.ru

Не такой как все. PinePhone – смартфон на Linux за 150 долларов | Смартфоны | Дайджест новостей

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

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

Аппаратная платформа PinePhone совершенно не впечатлит современного искушённого пользователя. Смартфон использует 5,9-дюймовый экран 18:9 с разрешением 720P. В устройстве установлено 2 ГБ оперативной и 16 ГБ постоянной памяти. На задней панели находится 5-мегапиксельная камера. Селфи-камера имеет разрешение 2 мегапикселя. Телефон оснащен USB Type-C и 3,5-миллиметровым разъемом для наушников.

Ключевой особенностью PinePhone является возможность устанавливать на аппарат различные операционные системы, такие как Ubuntu Touch, Plasma Mobile, Aurora OS и Sailfish OS, что, несомненно, придётся по душе поклонникам Linux. Обычным пользователям компания сама не рекомендует приобретать свой смартфон, так как он не подходит для повседневного использования и полноценно заменить систему Android или iOS не сможет.

Целью Pine64 является не только поставка смартфона с Linux конечным пользователям, но также создание рынка для такого устройства и поддержка существующих проектов Linux-on-Phone.

Стоимость смартфона составляет 150 долларов.

Фото: pine64.org

club.dns-shop.ru

Librem 5 — мечты о защищенном смартфоне на линукс / Habr

"Мечтают ли электроовцы о линуксе на телефоне?"

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

Я не могу поставить "банерорезку" на системном уровне или поднять dnscrypt. Зарулить часть трафика по wifi, а часть по мобильной сети. Достать тот самый нужный мне файл, доступный только из-под рута. А при открытии загрузчика слетает гарантия, перестает работать бесконтактная оплата и все те "улучшатели" для камеры от производителя. Не могу прописать install по ssh и через пару секунд получить приложение со всеми нужными патчами.

А когда я вижу те десятки установленных производителем неудаляемых приложений, которые занимают место, жрут батарею, постоянно спамят оповещениями и собирают аналитику — мне становится совсем грустно. Это настоящее, к которому мы пришли. С закрытыми прошивками для железа и взглядом на пользователя только как на источник получения прибыли.

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

UPDATED: Почти наверняка будет использован i.MX8M и FullHD экран. Ура!
UPDATED2: За 5 дней были собраны недостающие 500k из $1.5M. $300k из них — корпоративные заказы. До конца компании остается еще 2 недели. Хороший ответ тем, кто говорил "не нужно".

DISCLAIMER: автор не связан с проектом, но уточнил у разработчиков некоторые интересующие его моменты, которыми и поделился в статье.

ДЛЯ НЛО (можно убрать): статья в первую очередь о проблемах и непростых решения, которые иногда приходится принимать разработчикам свободных устройств в современном рынке закрытого железа. + немного информации о данном конкретном проекте, которой нет в открытом доступе. Все упоминания о сборе средств (и ссылку на него) я убрал. К качестве референса — статья о Librem 15, которая прекрасно живет на geektimes (там ссылка на краудфандинговую компанию есть, кстати).


Что это?

Librem 5 — смартфон на linux, который будет построен на максимально открытом железе и софте, с уважением к безопасности и приватности. Он пока не существует, но есть уже более-менее проработанный за 1.5 года план, и менее чем через месяц начнется активная разработка.


Кто?

Команда Purism успешно выпустила серию ноутбуков с максимально свободным железом (насколько это сейчас возможно), open source BIOS'ом и своим дистрибутивом linux, который они развивают. Сейчас компания переключила свое внимание на смартфоны.


Железо

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


Характеристики
  • 5″ touchscreen
  • i.MX6/i.MX8 CPU
  • Vivante GPU (Etnaviv free software accelerated driver)
  • Separate mobile baseband
  • 3GB LPDDR3
  • 32GB eMMC
  • MicroSD slot
  • Camera (front and back)
  • Flash
  • Headphone and Microphone Jack (3.5mm)
  • Microphone
  • Speaker
  • Power Button
  • Volume Controls
  • SIM Slot
  • WiFi 802.11
  • Bluetooth 4
  • Debugging interface (internal)
  • USB Host
  • USB Type-C
  • Battery
  • Sensors:
    • GPS
    • Accelerometer
    • Gyroscope
    • Compass
    • Ambient Light
    • Proximity
  • Hardware kill switches for:
    • Camera
    • Microphone
    • Baseband
    • WiFi/Bluetooth

Отдельный чип мобильной связи

Начнем с неожиданного пункта. Но он повлиял на многие принимаемые далее решения.

Мобильные сети небезопасны. И проблема вовсе не в реализации ПО или неправильной настройки оборудования (хотя и такое сплошь и рядом) — проблема куда глубже и связана с самой архитектурой сети. Десятки различных векторов атаки: начиная от широко известных («проходного двора» SS7, перехвата 2G, ошибок в шифровании 3G/4G) — до специфических хардварных атак на конкретное оборудование.

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

Но телефон без мобильных сетей — не телефон. Поэтому самый правильный выход для защищенного смартфона будет в том, чтобы держать чип мобильных сетей как можно более изолировано от всего остального. В Librem 5 используют отдельный от процессора чип мобильной связи. Даже больше: для него будет предусмотрен физический выключатель. Не знаю, что именно разработчики собираются отключать, но, по хорошему, нужно рубить питание, антену и связь с главным процессором.

Кстати, перестаньте использовать SMS для аутентификации и авторизации. Я серьезно. Это небезопасно.

CPU & GPU

Итак, в процессоре не должно быть беспроводной связи. Что еще? Полностью открытые драйвера с хорошей поддержкой OS. Если верить разработчикам Librem 5, из того, что сейчас представлено на рынке, им подошла целая одна (!) линейка SoC — i.MX6 от NXP. Просто муки выбора. Современная реальность открытого железа.

Что же нам достанется из этой линейки процессоров? 2 ядра 32-битного Cortex-A9 1.0 GHz, Vivante GC880 GPU, DDR3 и USB 2.0. Этакий середнячок 5х-летней давности. Не густо, конечно, но для обычного использования должно хватить.
Но мы ведь хотим, чтобы мир пересобирался на нашем gentoo за пару часов, а не за неделю, и сервер, который мы обязательно запустим на этом смартфоне, может и не 10k RPS выжимал, но хотя бы пару десятков пользователей мог обслужить? ;)

К счастью, в начале года NXP презентовала новую линейку процессоров i.MX8, которые могут даже носить гордое звание середнячков этого года. 4 ядра 64-битного Cortex-A53, Vivante GC7000Lite GPU с поддержкой Vulkan, 4kp60, h.265 и VP9, DDR4, USB 3.0-C — с этим уже вполне можно жить, а не существовать. Крипту не помайнишь, конечно, но нам же не для этого? GPU должно потянуть 3D средней тяжести — было бы только что запускать :)

Почему же в характеристиках i.MX6/i.MX8? К сожалению, i.MX8 еще нет. Ходят слухи, что там уже все готово для производства, и до конца года новая линейка выйдет. Часть кастомеров летом получила опытные образцы. И разработчики Librem 5 даже готовы подождать 2-3 лишних месяца, если что. Но пока в качестве страховки i.MX6.

Экран

5 дюймов, минимум HD. В планах поставить FullHD, если будет такая возможность. Как оказалось, трудно заранее на 100% договориться на такую небольшую партию. Когда компания по сбору средств завершится, будет выбран лучший вариант и заключен контракт с поставщиком. От себя добавлю, что для 5 дюймов даже HD не так уж и плохо.
Память

3GB LPDDR3 в варианте с i.MX6, и, возможно, больший объем LPDDR4 для i.MX8-M. 32 GB eMMC и слот для MicroSD.
Wireless

Отдельным чипом Wifi/Bluetooth, физический выключатель — те же самые причины, что и для мобильных сетей.
Камера, навигация, акселерометр, etc.

Все стандартно. Есть две камеры — и хорошо. Стоит обратить внимание только на то, что камеры и микрофон тоже будут иметь физические выключатели. Любители использовать изоленту негодуют.
Батарея

Съемная, больше никакой информации.
Корпус

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

Наверняка нет. По крайней мере не для первой версии. Объем работы и так очень большой.
Сканер отпечатка, распознавание по лицу, сетчатке глаза и исполнению «Смооооууук он зэ вооооотэ»

Принципиально нет. Биометрия — такая штука, которую можно использовать и без вашего желания, и сложно поменять после компрометации. В отличие от паролей, которые только у вас в голове. «Начало» — пока только фантастика (я надеюсь).
Врочем, распознавание по исполнению никому не известного трека из заголовка можно будет реализовать самим — все-таки у вас будет полный контроль над телефоном.

Софт


OS

Linux, по умолчанию будет самопальный PureOS (основан на Debian), который используется в ноутбуках компании. Обещают возможность использовать любой дистрибутив, который поддерживает ARM. С напильником, конечно. Выглядит вполне реалистично, учитывая, что загрузчик открыт и все драйвера будут доступны.

Будет ли песочница для приложений? Для PureOS уже есть ядро с GrSecurity, так что наверняка такой механизм будет реализован. Ну и SELinux c AppArmor опять же. В общем, все, что есть для linux, можно будет использовать под конкретный уровень вашей паранои.

Интерфейс и стандартные приложения

Разработчики уже договорились о поддержке со стороны Gnome и KDE комьюнити. Что будет по умолчанию — пока не решено. В планах портировать «джентльменский набор» приложений с оптимизацией под тачскрины. Когда эта работа будет завершена — придет время для более сложных вещей.
Matrix

По умолчанию в качестве децентрализованного безопасного способа коммуникации будет использоваться Matrix.
Сторонние приложения

Как можно раньше станет доступна плата разработчика. В планах предоставить все необходимые SDK, документацию и эмулятор. Планируется поддержка изолированных HTML5-приложений. Есть идеи по мотивации сторонних разработчиков.

Когда?


Начало 2019.

На мое замечание о том, что таймлайн выглядит слегка оптимистичным, Todd Weaver (основатель и CEO проекта) ответил, что согласен, что сроки довольно агрессивные, но заметил, что никто не будет ждать 3 года разработки после краудфандинга. Стратегия в том, чтобы выпустить устройство с минимально необходимым функционалом как можно раньше и развивать проект дальше.

Необходимость и прогнозы


Мне кажется, что Librem 5 очень важен для будущего разработки свободных мобильных устройств. Если проект завершится неудачей — вряд ли в ближайшие несколько лет кто-то решится повторить что-то подобное, вспоминая его и Ubuntu Phone.

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

habr.com

linux на android планшете / Habr

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

Моя история начинается с прочтения данной статьи, после которой я и решился приобрести чудо китайского планшетостроения: 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

ставим Kali Linux на смартфон

Неважно, хакер вы или безопасник. Эта статья – то, что вы искали! Погнали разбираться, как установить Kali Linux на смартфон.

Начнем с азов. Kali Linux – десктопная версия ОС, а нас интересует версия, адаптированная под мобильные девайсы. Этот дистрибутив называется Kali Linux (NetHunter), вот его мы и будем устанавливать. Он ставится поверх "родного" Android в виде программы, что дает возможность пользоваться телефоном, как и раньше (звонки, SMS и прочие функции остаются доступны).

Если вы уже пытались найти инструкцию по установке Kali Linux на смартфон, то, скорее всего, это были туториалы с использованием Multirom. Инструмент позволяет установить на телефон сразу две независимые прошивки (как две ОС на обычном десктопе), переключаться между которыми можно во время ребута смартфона.

Этот способ нам не подходит, поскольку загрузчик от Multirom не сможет правильно прошить ядро, а если случится так, что на "подопытном" будет стоять не то ядро, большая часть функций NetHunter (эмуляция клавиатуры, поддержка USB-WiFi, Frame Injection, Bad USB и т. д.) окажется недоступной.

Официально установка Kali Linux на смартфон подходит далеко не для всех девайсов. Среди поддерживаемого: Google Nexus, немного Samsung и One+ – список невелик, но он увеличивается сопоставимо росту популярности Kali NetHunter.

На перечисленные устройства все ставится просто, быстро и без напильника. А вот неофициальный список девайсов огромен. Все потому, что NetHunter – это обычное apk приложение, которое может работать на любой версии Android, начиная с 4.4. Установка дистрибутива – дело нехитрое, а вот проблемы с обновлением и установкой правильного ядра могут испортить весь кайф мероприятия.

Рабочие нюансы

Предостережение:

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

Официально поддерживаемые девайсы мы разбирать не будем, т. к. проблем они не вызывают. Если вы обладатель смартфона из списка неофициальной поддержки, то читаем дальше.

Для начала нужно определить, какая прошивка стоит сейчас на смартфоне, ведь большинство версий "родных" прошивок практически несовместимы с ядром NetHunter. В идеале, можно использовать lineage-os или AOSP – это два проекта, с которыми установка Kali Linux на смартфон должна пройти гладко.

Этапы установки Kali Linux на смартфон

Дочитав до этого места, вы уже должны уметь прошивать телефон, знать, как получить root-права и установить кастомное recovery (TWRP или TouchWiz). Разберемся с терминами:

  • root-права – это права суперпользователя на телефоне.
  • recovery – специальное меню для установки или восстановления прошивки. Если загрузиться с recovery, можно работать с ФС телефона, даже если на нем не установлен Android.

Как установить root и актуальное recovery конкретно на испытуемый телефон очень подробно описано на xda. Находим ветку с нужным устройством и читаем мануалы.

После этого обязательно установите приложение SuperSu и BusyBox, а далее запустите их по одному разу для инициализации в системе.

На сайте качайте нужное ядро (kernel) под ваш смартфон (не перепутайте кодовое имя ядра). Если повезет и там найдется ядро на нужный девайс – качайте его и устанавливайте (если не повезло, то ниже разобран этот вариант).

В конце списка расположены дистрибутивы Kali. Качайте full-версию (что мы и рекомендуем) с расширением arm64 или arfhf,  и перекидывайте ее в корень карты памяти. После этого перегружайтесь в recovery, жмите на кнопку Install и устанавливайте скачанный архив. Процесс инсталляции длится около 20 минут, поэтому хорошенько зарядите подопытного. В конце установки перезагрузитесь.

На данном этапе NetHunter неспроста ставится без ядра. Если что-то пойдет не так, то будет очевидно, что беда со сборкой, а не с ядром или в связке ядра с дистрибутивом.

Если после перезагрузки вы увидите заставку Kali, значит пока все сделано правильно. Заставка может "висеть" от 3 до 7 минут. В случае более долгого зависания перезагрузите телефон. Войдите в recovery и почистите Dalvik Cache. Проверьте "загружаемость" системы и создайте бекап.

После удачной установки вы сразу заметите изменение внешнего вида и появление кучи новых приложений. При запуске любого из них может возникнуть ситуация, при которой не хватает root-доступа для работы. Для выдачи прав предоставьте их в диалоговом окне или в приложении SuperSu. Такие же манипуляции нужно реализовать и с приложением NetHunterTerminal (чтобы он появился в списке SuperSu, терминал нужно запустить хотя бы раз).

Почти готово

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

Тут выплывает одна особенность: некоторые прошивки lineage-os или AOSP могут содержать в себе ядро, которое подойдет вашему смартфону, что позволит использовать весь функционал Kali NetHunter, и ядро не придется ставить отдельно (но может быть и наоборот, и вы будете откатываться). Обо всех этих плюшках пишут в описании к релизу.

Рассмотрим ситуацию, когда все плохо, т. е. будем ставить ядро. Его поиск лучше начинать на xda. Многие сталкиваются в этом месте с проблемой поэтому сразу уточняем. Пишете в адресной строке браузера такой запрос: модель устройства nethunter kernel site:xda-developers.com. В необходимой ветке сайта в строке поиска введите два ключа “kernel nethunter” – они выделят необходимые ядра из списка. Выбирайте ядро под вашу версию Android, скачивайте и перекидывайте его в корень карты телефона.

Поступаем так же, как и с прошивкой: перегружайтесь в recovery, жмите на кнопку Install и устанавливайте скачанный архив. После завершения установки процесс включения может длиться от 5 до 15 минут. Если увидели заставку Kali, ядро было выбрано правильно. Ждите еще примерно 20 минут. Если заставка не пропала, перезагрузите смартфон и в recovery восстановите раздел boot из бекапа, созданного ранее.

Напоследок

В самом конце осталось обновить всю систему Linux целиком. Это обязательное правило даже для десктопной версии обычного линукса. В терминале Kali используйте команду apt update и apt upgrade, ждите около часа (зарядка – наше все).

Данный способ установки Kali Linux на смартфон проще первого, ибо установка на виртуалку, и не придется ковыряться с получением root-прав.

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

1. Скачивайте образ Kali Linux Light 32-Bit с официального сайта.

2. Перекидывайте скачанный образ в пустую (нужно создать) папку в корне карты памяти.

3. Для виртуализации понадобится приложение. По ссылке найдете подробное описание и инструкции.

4. устанавливайте Limbo, запускайте и создавайте учетку своего юзера.

5. В Architecture укажите x86, в CPU Cores – 4, а RAM ставьте не менее 512MB (лучше больше, если память позволяет).

6. Создайте хранилище (Hard Disk) размером не меньше 4GB.

7. В CD-ROM откройте меню и найдите скачанный iso-файл Kali.

8. В разделе Network отметьте галочкой пункт User.

9. Ниже в секции Boot Settings укажите загрузку с привода.

10. Все готово к установке. Жмите на кнопку запуска и ожидайте окончания процесса.

Попробовали? А вы знаете другой рабочий способ установки Kali на Android?

proglib.io

Как и какой Linux поставить на мобильные устройства?

Посетитель нашего сайта прислал такой любопытный вопрос:

Здраствуйте у меня есть мини-PC ug 802, как я могу установить на него линукс? teltar

 

Это очень интересная для меня тема, друзья,  поскольку  я профессионально занимаюсь администрированием Linux-серверов.   На серверах это интересно, но для меня уже буднично и обыденно. А вот установка дистрибутивов Linux на устройства с ARM-архитектурой — это интересней на порядок.

В чем разница между компьютером и смартфоном или планшетом?

На самом концептуально разница небольшая — и мобильные и десктопные устройства, или даже серверы  сделаны по одним и тем же принципам. Однако, для мобильных устройств используют иную архитектуру процессора.   CPU для  десктопов  разработаны на архитектурах x86 или amd64.  А в большинстве мобильных устройств установлен процессор на ARM-архитектуре.   Исторически, это связано с тем, что такие процессоры имеют значительно меньшее энергопотребление, что есть жизненная необходимость для мобильных устройств.


Какие ОС можно установить на мобильные устройства?

смотрите также: Как выбрать планшет

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

Что такое Android?

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

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

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

Debian — старейший дистрибутив, славящийся своей стабильностью, комьюнити  и большим количеством софта. Он портирован практически на все ныне существующие платформы, в том числе и ARM.

Ubuntu —  это прямой потомок Debian, унаследовавший от него все положительные качества и  обросший собственными, не менее привлекательными. В первую очередь это удобство установки и использования, более  продвинутый интерфейс по-умолчанию, user-friendly.  И ещё большее комьюнити, растущее гигантскими темпами.  В далекоидущих планах  даже специализированная версия, Ubuntu Phone, призванная конкурировать с Android, но проект был приостановлен.

Arch и Gentoo — это дистрибутивы Linux, которые также стоит отметить. Они славятся своей гибкостью и «хардкорностью». Они значительно сложнее в установке и управлении.  И если Arch имеет лишь любительский порт под мобильную архитектуру, то  Gentoo  в количестве поддерживаемых платформ не уступает Дебиану.

Оказалось, информации об использовании Linux на android-устройствах  довольно много.

Что такое мини-PC?

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

Подробный обзор устройства

 

Внешний вид и комплектация

UG802 поставляется в небольшой чёрной коробке из плотного картона:

Надпись RK3066:

Открываем коробку:

На втором уровне находятся аксессуары:

HDMI-кабель:

кабель в плотной оплётке:

USB-кабель питания:

Зарядного устройства в комплекте нет.

Устройство без опознавательных знаков и множеством вентиляционных отверстий (в обновлённой версии уже присутствует логотип):

Вентиляционные отверстия со всех сторон:

Сбоку находится слот для microSD карт памяти:

Снизу microUSB(для подключения питания), USB для подключения мыши/клавиатуры/хаба:

Под колпачком находится HDMI-male, что позволяет подключать миниПК непосредственно к телевизору. Если HDMI-порт направлен в стену, то можно воспользоваться HDMI-удлинителем, который входит в комплект:

Вес составляет 31г:

UG802 выполнен полностью из пластика. Сравнение размеров с флешкой:

и в руке:

В телевизоре:

Через удлинитель:

Я подключал различные устройства через вот такой активный хаб:

Питание для UG802 я тоже брал из него. Внешние HDD-накопители, flash-накопители, USB-клавиатура, USB-мышь — всё распознавалось и работало как положено. Единственное, что можно отметить — при вводе с клавиатуры наблюдается некоторая задержка появления символов на экране.
Полноценная клавиатура и мышь — это не сильно удобные средства управления. UG802 позиционирует больше как мультимедийное устройство, и намного удобнее им управлять устройством, которое совмещает в себе мышь и клавиатуру. Например, в Песочнице есть обзор пульта Mele F10. Либо ещё есть интересное устройство iPazzPort, с русскими буквами:

Программное обеспечение и способы применения

В UG802 установлен лаунчер оптимизированный для работы в качестве мультимедийного центра:

Настройки:

Настройки WIfi:

Различные дополнительные настройки:

Можно выставить рамку изображения:

Режимы работы HDMI:

Android 4.0.4:

Для пользователя доступно 2Гб внутренней памяти, которую можно расширить с помощью microSD карт:

При подключении веб-камеры через USB-хаб можно производить видео звонки через Skype:

Можно использовать телевизор для просмотра веб-страниц:

Короткое видео где показана навигация по интерфейсу + Angry Birds + просмотр страниц + Youtube-ролик:
(извиняюсь за качество и горизонт, снимал на калькулятор то что было)

Wifi

Уровень сигнала Wifi рядом с точкой доступа:

В первый день работы при обновлении программ из маркета Wifi пропадал несколько раз. Вернуть к жизни можно было только полностью перезагрузив мини-компьютер. В следующие несколько дней при скачке больших cache-файлов, установки программ из маркета, просмотра онлайн-видео, Wifi работал стабильно и никаких разрывов не наблюдалось. Возможно, такое поведение связано с некоторой «сыростью» прошивки.

В меню присутствует настройка Bluetooth, но встроенного BT в UG802 нет. USB Bluetooth тоже не заработал. Возможно в следующих прошивках появится поддержка USB Bluetooth донглов:

Видео

Full HD видео проигрывается плавно.
Пример проигрывания FULL HD и обычного mp4:

Игры

Даже с частотой 1.2ГГц производительности хватает для «тяжелых» игр:

С помощью клавиатуры и мыши играть не очень интересно. Будем надеяться, что в следующих прошивках добавят поддержку Bluetooth-донглов и тогда можно будет подключать PS3-геймпад.

Информация о системе и тесты производительности

Antutu:

Частота 1.2ГГц сказывается на результатах теста (при частоте 1.6ГГц Rockchip RK3066 набирает более 8000 баллов).
Тест Quadrant не захотел запускаться (чёрный экран).

CF-Bench:

Nenamark 2:

Antutu 3DRating:

Vellamo:

Вскрытие

Разбирать UG802 легко, нужно лишь аккуратно провести медиатором по периметру:

И станут видны внутренности:

С одной стороны:

С другой:

Rockchip RK3066 и 2х256 модуля памяти Micron:

4ГБ NandFlash от Micron и вторая пара модулей памяти:

Контроллер питания:

WIfi-модуль Realtek RTL8188EUS:

WIfi-антенна:

Получение Root-прав доступа

Из-за некоторых недоработок прошивки программы иногда зависают и закрываются с ошибкой.
Из коробки в UG802 нет root-прав доступа, которые получить очень легко стандартным способ получения прав для платформы RK3066. Для этого нужно:

1. Скачать Moborobo
2. Скачать модифицированную версию SuperOneClick (ссылка взята с ресурса Slatedroid, некоторые антивирусы могут считать программу вирусом, скорее всего из-за её предназначения)
2. Установить Moborobo и запустить
3. Включить опцию USB Debugging в настройках UG802
4. Выбрать опцию Connect to PC в настройках UG802:

5. Дождаться обнаружения устройства в Moborobo
6. Распаковать архив и запустить SuperOneClick.exe
7. Нажать Root и дождаться окончания процесса

Выводы

 

Плюсы:

+ компактный в размерах и лёгкий
+ можно подключать напрямую к телевизору
+ высокая производительности достигается даже при работе на частоте 1.2ГГц
+ не греется
+ можно сделать Smart TV из любого телевизора с HDMI входом

Минусы:

— нестабильная прошивка

Цена

Я покупал свой UG802 по цене $74.99. Цена сейчас снизилась до $64.99

Обзор на geektimes.ru

Это android-девайс.  Соответственно, в нём по-умолчанию должна быть установлена Android.   Которая, фактически, и есть Linux.  Но с некоторыми серьёзными ограничениями.  Установка какого-нибудь другого Linux, может значительно расширить возможности мобильного устройства. Возможности использования становятся фактически безграничны. Ну представьте себе, использовать мобильник в качестве сервера!  Множество инструментов становятся доступны.  Если это планшет, подключив к нему периферийные устройства через OTG-кабель, можно использовать его как полноценный компьютер!    Зачем? Это уже другой вопрос. Надеюсь, наш читатель поделится своими затеями в комментариях.

Как установить Linux на android-устройство?

Итак, установка.

Вариантов два — можно сделать полноценную установку, что называется — на «железо». Это фактически перепрошивка устройства. При этом, мы теряем нативный фунцкионал устройства, предусмотренный производителем. А это может быть совсем не тем, чего нам хотелось.  К примеру, мини-компьютер UG 802, за который интересуется наш читатель — это устройство, предназначенное для расширения фунциональности телевизоров.  Ибо  его можно вставить прямо в HDMI-порт  любого телевизора, превратив его в Smart.

К счастью, есть второй способ установки Linux — прямо внутри основной операционной системы устройства, в данном случае Android.   Это позволяет запустить так называемое chroot-окружение внутри Android. При этом  вы получите две родственных операционных системы, работающих параллельно на одном ядре — андроидовском.   И между ними можно будет переключаться.

Такой подход удобен для смартфонов и планшетов, но может не подойти для UG 802. В случае с ним, может понадобиться перепрошивка нужной операционной системы.  А это уже некоторый риск, что можно испортить устройство.

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

Руководства и советы по установке Linux на ARM-устройства

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

Кто такие хакеры?

Да-да, не удивляйтесь,  это именно хакинг — нестандартное вмешательство в работу и устройство систем и программ, их изменение и расширение функциональности. Именно таково исконное значение этого слова.  А хакер — это вовсе не взломщик и не писатель вирусов,  как  большинство людей привыкли думать.  Это в первую очередь исследователь.   Да, он ломает системы, вскрывает то, что не было задумано быть вскрытым, но делает это  с целью познать, а не навредить.

 

https://xakep.ru/2012/10/22/android-tablet-linux-install/ — статья об установке Linux на смартфоны в старейшем журнале, который как раз является  отражением сути хакерства.

https://habrahabr.ru/post/221543/ —  хабр, не менее старый и даже более известный ресурс.  А статья здесь свежее, и очень подробно описывает опыт установки Arch Linux поверх Android, в виде chroot-окружения.

http://4pda.ru/forum/index.php?showtopic=371225 — ветка по компьютеру UG 802 на популярном форуме о мобильных девайсах — довольно много информации об устройстве.   Если вы собираетесь серьёзно модифицировать устройство  (а установка ненативной ОС точно относится к таким модификациям)  — я рекомендую изучить опыт использования этого устройства другими людьми. В специфичных случаях, вы также можете пообщаться с этими людьми, задать вопросы. Возможно кто-то уже проделывал нечто подобное и может что-нибудь подсказать, поделиться результатами.   Но прежде чем задавать вопросы, следует всё же прочитать всю ветку — иначе можно нарваться на негатив. Ведь очень может быть, что ответы на все интересующие вас вопросы уже были даны ранее в этой ветке.   Люди не любят повторяться, а особенно заядлые форумчане.

https://geektimes.ru/post/44220/ — гиктаймс  — сайт от создателей хабра, и на нем нашелся подробный мануал по установке Debian поверх Android на смартфон. Статья хоть и очень старая, но затрагивает фундаментальные вещи, которые необходимо понимать прежде чем приступать к такой операции.   Это если и не поможет вам установить, но поможет набраться знаний, без которых невозможно дальнейшее развитие темы и решение проблемы.  А изучив такие статьи, вы будете чувствовать себя уже более уверенно и сможете искать информацию по теме уже более точечно, на конкретные вопросы, которые нужно будет решать при установке.

К примеру, наверняка,  на вышеупомянутых сайтах эти статьи по теме не единственные. Можно всегда попробовать поискать ещё статьи об этом на таких специализированных ресурсах.  Я нашел и просмотрел пару топиков об установке linux на мобильные устройства на 4pda.ru вот так, например

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

При возникновении проблем (а они возникнут с долей вероятности 99% :) )  можете также задавать вопросы здесь, будем собирать информацию,  решать проблемы вместе, мне это тоже очень интересно.

answit.com

Статьи об установке Ubuntu Linux на ваш смартфон

blogas.info

Смартфоны с Ubuntu | Losst

Операционная система Ubuntu Phone, или как она раньше называлась Ubuntu Touch от Canonical, вышла не так давно, но уже успела завоевать признание многих пользователей Linux. Преимущество ее в том, что вы получаете полноценную (почти) операционную систему Linux на своем смартфоне. Здесь вы можете запускать различные Linux утилиты, настраивать систему, а также устанавливать приложения из центра приложений. Все приложения написаны на HTML5 и их не так много, но со временем, их количество увеличится.

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

Содержание статьи:

Meizu Pro 5

Meizu Pro 5, это новый смартфон на Ubuntu от китайской компании Meizu, анонсированный и вышедший в продажу совсем недавно. Аппаратное обеспечение смартфона на самом высоком уровне. Здесь используется процессор от Samsung Exynos 7420, на восемь ядер, также здесь будет доступно 3 или 4 гигабайта оперативной памяти и уже типичная для современных смартфонов диагональ экрана 5,7 дюймов. Для любителей метала приятная новость, корпус нового смартфона выполнен целиком из метала. Вообще, смартфон выполнен очень стильно и современно. Но и цена тоже выше чем у бюджетных устройств: $ 369.

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

  • Экран: 5.7 дюймов 1080р с поддержкой технологии AMOLED
  • Стекло: Gorilla Glass 3 с улучшенной защитой от ударов и царапин
  • Камера на 21 мегапиксель с поддержкой внешних объективов
  • Фронтальная камера 5 мегапикселей
  • Звук HiFi
  • Встроенная память 32 Гб
  • Оперативная память 3 Гб
  • Процессор: восьмиядерный Samsung Exynos 7420
  • Сим карта: два слота для microSIM
  • Габариты: 156.7 x 78 x 7.5
  • Вес: 168г

BQ Aquaris E4.5

Этот смартфон с ubuntu вышел в прошлом году и стал первым коммерческим аппаратом с этой операционной системой. Нужно сказать, что это бюджетный смартфон, поэтому и характеристики у него соответствующие. Внешний вид смартфона не сравнится с предыдущим. Это небольшой пластиковый, черный кирпичик. Но в отличии от предыдущего варианта здесь есть возможность подключать внешние карты памяти. Цена смартфона всего 164 евро.

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

  • Экран: 4,5″ IPS, 540×960, 240 ppi
  • Процессор: четырехъядерный Soc MediaTek MT6582
  • Графический процессор: Mali-400
  • Встроенная память: 8 Гб
  • Карта памяти: до 32 Гб
  • Оперативная память: 1 Гб
  • Основная камера: 8 мегапикселей
  • Фронтальная камера: 5 мегапикслей
  • Аккумулятор: 2150 мА-ч
  • Размеры: 137×67×9
  • Вес: 123

BQ Aquaris E5 HD

Это второй аппарат и телефон на Ubuntu от компании BQ на основе операционной системы Ubuntu. По сути, это модификация предыдущей модели. Смартфон все еще бюджетный, но характеристики уже чуть лучше. Увеличена диагональ экрана до 7 дюймов и камера. На внешний вид этот смартфон на Ubuntu тоже стал лучше, но корпус все еще изготовлен из пластика. Цена смартфона тоже поднялась, до 199 евро.

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

  • Экран:  5 дюймов, IPS, 1280 × 720 точек, 294 ppi
  • Стекло: Cristal Dragontrail
  • Процессор: MediaTek MT6582, четырехъядерный Cortex-A7 1,3 ГГц
  • Графический процессор: Mali 400-MP2
  • Оперативная память: 1 Гб
  • Встроенная память: 16 Гб
  • Карта памяти: поддерживается
  • SIM-карты: две microSIM
  • Основная камера: 13 Мп с поддержкой автофокуса
  • Фронтальная камера: 5 Мп с фиксированным фокусом
  • Аккумулятор: 2500 мА-ч
  • Размер: 142 × 71 × 8,65 мм
  • Вес: 134 г

Meizu MX4 Ubuntu Edition

Выпустить этот смартфон с Ubuntu компания Meizu планировала еще в 2014 году. Но релиз состоялся только в 2015, это еще одна бюджетная модель со средними характеристиками. Диагональ экрана здесь чуть меньше чем у современных флагманов от Smasung, но уже больше чем пять - 5,3 дюйма. Приятно, что в составе корпуса используется металл. Сам корпус выполнен из пластика, но грани металлические. В целом смартфон выглядит очень похожим на IPhone 6.

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

  • Процессор: MediaTek MT6595, 4 ядра A17 2.2 ГГц
  • Графический процессор: PowerVR G6200
  • Оперативная память: 2 Гб
  • Экран: 5.36″ IPS (New Mode 2), 1920×1152, 418 PPI
  • Основная камера: 20.7 Мп
  • Фронтальная камера: 2.0 Мп, 1080p
  • Постоянная память: 16 Гб
  • Аккумулятор: 3100 мА-ч
  • Размеры: 144.0×75.2×8.9 мм
  • Вес: 147 г

Google Nexus 4

Этот смартфон от Google не поставляется по умолчанию с Ubuntu Touch и вышел он достаточно давно, но зато он официально поддерживается разработчиками из Canonical. Таким образом, даже не поставляемые по умолчанию смартфоны с ubuntu могут отлично работать с этой операционной системой. Купить Google Nexus официально уже вряд ли возможно, так как он снят с производства, но все еще можно купить уже использованную модель с рук. Для того времени у смартфона очень даже неплохие характеристики - четырехъядерный процессор Qualcomm Snapdragon, два гигабайта ОЗУ и стандартная для устройств тех времен камера на восемь мегаписклей. Выглядит смартфон просто отлично, корпус выполнен из качественных материалов, в качестве защитного стекла использовано Gorilla Glass 2.

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

  • Процессор: четырехъядерный  Qualcomm Snapdragon S4 Pro 1,5 ГГц
  • Графический процессор: Adreno 320
  • Встроенная память: 16 Гб
  • Оперативная память: 2 Гб
  • Поддержка MicroSD: нет
  • Основная камера: 8 Мп
  • Фронтальная камера: 1.3 Мп
  • Экран: 4.7, WXGA IPS, 1280 x 768, 320 ppi
  • Аккумулятор: 2100 мА-ч
  • Размеры: 133,9 x 68,7 x 9,1 мм
  • Вес: 139 г

OnePlus One

OnePlus One - не совсем обычный смартфон, это смартфон с операционной системой Cyanogenmod, наиболее известной модификацией Android. Следовательно он поддерживает и установку Ubuntu. Кроме того смартфон отличается отличными характеристиками и невысокой ценой, выпущен он еще в 2014, но его до сих пор можно найти. Корпус устройства изготовлен из пластика, но выглядит просто и красиво. Но самое интересное здесь - характеристики. В смартфоне используется процессор Qualcomm Snapdragon 801 и 3 Гб оперативной памяти и все это приблизительно за $ 250.

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

  • Экран: 5.5 IPS, 1920×1080, 400 ppi
  • Процессор: Qualcomm Snapdragon 801, 4 ядра по 2,5 ГГц
  • Графический процессор: Adreno 330
  • Оперативная память: 3 ГБ
  • Постоянная память: 16/64 ГБ
  • Поддержка microSD: нет
  • Аккумулятор: 3100 мА-ч
  • Основная камера: 13 Мп
  • Фронтальная камера: 5 Мп
  • Размеры: 153×76×8,9 мм
  • Вес: 162 г

OnePlus X

Это еще одно устройство от компании OnePlus вышедшее в 2015 году. Ubuntu здесь поддерживается, но не Canonical а сообществом энтузиастов. Компания OnePlus тоже, как видите, выпускает смартфоны ubuntu touch хотя они и не поставляются по умолчанию с этой операционной системой. Что касается смартфона, то как и предыдущая модель он поставляется с Cyanogenmod и имеет очень даже неплохие характеристики, но немного хуже чем у его предшественника. Самое главное, что здесь используется тот же Qualcomm Snapdragon и доступно три гигабайта оперативной памяти. По внешнему виду телефон на ubuntu намного лучше своего предшественника. Здесь мы можем видеть дорогой, утонченный и стильный дизайн.

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

  • Экран: 5 дюймов, AMOLED, 1920×1080, 441 ppi
  • Процессор: Qualcomm Snapdragon 801, четыре ядра 2,3 ГГц
  • Графический процессор: Adreno 330
  • Оперативная память: 3 Гб
  • Постоянная память: 16 ГБ
  • Поддержка microSD: Да
  • Аккумулятор: 2525 мА-ч
  • Основная камера: 13 Мп
  • Фронтальная камера: 8 Мп
  • Размеры: 140×69×6,9 мм
  • Вес: 138 г

Выводы

Не смотря на то, что Ubuntu Phone вышла не так давно и еще не очень популярна, уже есть смартфоны на ubuntu и их вполне достаточно, чтобы иметь с чего выбрать. Есть как официально поддерживаемые, так и поддерживаемые сообществом. Конечно, здесь перечислены далеко не все смартфоны ubuntu touch. Если вы знаете другие устройства, на которых Ubuntu работает достаточно хорошо, напишите в комментариях!

Оцените статью:

Загрузка...

losst.ru

Подборка дистрибутивов Linux для смартфонов

На написание данного материала вдохновил смартфон Librem 5, о котором мы писали ранее. Смартфон, работающий не на iOS или Android с очередной оболочкой, а на Linux. В ожидании его появления, удалось выяснить, что оказывается, получить смартфон с Linux можно и сейчас.

Если вы не фанатеете от iOS или Android и не прочь были посмотреть на что-то интересное в софтверном плане в виде Windows Mobile, Firefox OS или Sailfish OS, то наверняка вы задумывались, а почему бы установить на смартфон Linux. Как ни крути, а такой смартфон принесет куда больше опыта от использования устройства, чем очередной вырез в дисплее очередного смартфона.

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

Первый дистрибутив из подборки – Maru OS. Идея разработчиков вполне понятна, принести Linux не только на десктоп, но и на смартфон. И именно это нам и нужно. Сборки пока доступны только для смартфонов Nexus 5, Nexus 5X и Nexus 6P.

Второй дистрибутив – Plasma Mobile. Думаю, многие уже поняли по названию, что данный дистрибутив будет работать с KDE приложениями и пишется в первую очередь под KDE. Если вы знакомы с Linux, то так или иначе сталкивались с KDE и Plasma, как окружением рабочего стола. В целом дистрибутив смотрится куда интереснее, но поддерживаемых устройства только два – Nexus 5 и OnePlus One.

И последний дистрибутив из данной подборки – postmarketOS. Позиционирует он себя как безопасный и свободный дистрибутив с Linux. Идея проста, если вы не хотите покупать самый последний топовый смартфон, то можете столкнуться с тем, что он недостаточно защищен в софтверном плане. На этом фоне смартфон с Linux будет куда более безопасным. Поддерживается два устройства – Nexus 5 и Nokia N900.

Да, вы можете сказать, что отчасти и Android является Linux, из-за ядра. В данном случаи мы рассмотрели дистрибутивы именно на Linux, со всей свободой, которую он может дать пользователю. Эти дистрибутивы не для всех пользователей, да и многие не будут знать, что с ними сделать кроме звонков, но опытные пользователи поймут, насколько много возможностей даст Linux. Итог прост, нужно покупать Nexus 5, выбрать наиболее понравившийся дистрибутив и перешивать смартфон. Смартфон не новый и по производительности очень сильно уступает современным флагманам, но мы то знаем, что грамотно собранный Linux может работать очень быстро, даже на слабом железе.

Официальный сайт Maru OS

Официальный сайт Plasma Mobile

Официальный сайт postmarketOS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


fornote.net


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



© 2010- GutenBlog.ru Карта сайта, XML.