Как установить линукс на андроид тв бокс

Опубликовано: 30.11.2021

Если вести речь о энергоэффективных устройствах, то ARM64 архитектура себя отлично зарекомендовала. На рынке существует огромное предложение устройств на данной архитектуре. Но ценник при запросе определенных параметром стремительно растет вверх. Озвучим наши требования: ARM64, 1Gb ОЗУ и 8GB SSD или NAND. Естественно увеличение параметров в большую сторону приветствуется. Обратившись к рынку ТВ приставок - я вижу предложения от 1000р, что в 2-4 раза дешевле плат для разработчиков. Выбор пал на Х96 приставку

За 1000р я получил ужасный ТВ бокс, но отличный конструктор. Блок питания и клавиатура, а также HDMI кабель шли в комплекте. Прикладываю подтверждение, так как никто не поверит иначе.

Получив включил, посмотрел на тупящий андроид, выключил. Разобрал.

Устанавливаем Linux (Armbian) на ТВ бокс

Устанавливаем Linux (Armbian) на ТВ бокс

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

В профильной теме Armbian на ТВ бокс находим нужны йобраз и скачиваем. Я скачал Armbian_20.11_Arm-64_buster_current_5.9.9.img.xz

Заглянув по адресу https://www.debian.org/releases/ я вначале купился на bullseye релиз, не прочитав фразу:

This release started as a copy of buster, and is currently in a state called testing . This means that things should not break as badly as in unstable or experimental distributions, because packages are allowed to enter this distribution only after a certain period of time has passed, and when they don't have any release-critical bugs filed against them. Please note that security updates for testing distribution are not yet managed by the security team. Hence, testing does not get security updates in a timely manner. You are encouraged to switch your sources.list entries from testing to buster for the time being if you need security support. See also the entry in the Security Team's FAQ for the testing distribution.

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

How to run these images on the Amlogic platform .
Now all images Armbian and LE has all the files for activate the multi-boot. Anything addition to download and copy to media is not required.
1. Download the image for your device
2. Unpack
3. Burn the image on the medium
4. Configure in the file (uEnv.txt) launch parameters for the desired platform and model (uncomment the desired lines and comment out or delete unused ones)
If universal multi-upload has not yet been activated on this device, you need to activate it once. There are several options for activating multi-loading.
- Connect the prepared media to the device and turn on the power, boot into Android
- Open the app "Update&Backup"
- Click on "Select" local update and chose the file on the removable media aml_autoscript.zip
- Start "Update"
- System will reboot twice and start running the system from external media.

На последних образах изменились правила:
Pay attention. Starting from version 20.08 (20200814), the configuration order for the used DTB changes.
Please note that the algorithm for initial configuration of the system for startup has changed. Instead of a file "uEnv.txt", the file "/extlinux/extlinux.conf " is now used. The rules for editing a file remain the same.
All Amlogic models now need the "u-boot.ext" file.
Before launching on Amlogic, you must copy or rename one of the existing files "u-boot-*" to "u-boot.ext".
For s905 (not X) - used u-boot-s905
For s905x and s912 - used u-boot-s905x-s912
For s905x2 and s922 - used u-boot-s905x2-s922

- Теперь устанавливаем образ на SD карту.
- Открываем BOOT раздел на SD карте и переименовываем файл u-boot-s905x-s912 в файл u-boot.ext(на старых версиях этого делать не требовалось), затем в папке extlinux редактируем файл extlinux.conf (убираем ненужное и раскомментируем нужное). Для своей приставки я использововал meson-gxl-s905x-nexbox-a95x.dtb
- Вставляем SD карту в приставку.
-У меня загрузка начинается сразу, но я использую старый образ. Если загрузчик на приставке не обновлен, то заходим в обновление и выбираем обновление на флешке. После его установки первичная загрузка становится с флешки. Но в новых инструкциях рекомендуют зажать кнопку сброса, которая находится внутри разъема AV и включить питание приставки. После того, как на HDMI пойдет сигнал, отпустить кнопку сброса.

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

Устанавливаем Linux (Armbian) на ТВ бокс

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

Также не забываем про instagram канал и telegram канал . Подписываемся чтобы не пропускать новые обновления.


  • Цена: 36$ / 2136 р.
  • Перейти в магазин

Добрый день, коллеги!
В очередной раз наткнулся на споры в комментариях в отношении ТВ-бокса на Amlogic s905. Большинство комментаторов призывают дать инструкции, что нужно сделать, чтобы из китайской коробочки сделать производительный (медиа)сервер. Скажу сразу: покурить мануалы все же придется, все само не заработает. Однако, у вас будет стимул, вы будете знать что можно в итоге получить.

Данная статья призвана обобщить довольно значительный опыт в рамках бытовой автоматизации и использования медиаплееров. Цель всего опуса описать неочевидные возможности устройств и ПО, примеры того, как можно из булки хлеба сделать троллейбус при помощи python и нескольких десятков пар костылей. Интересующихся прошу под кат.

Введение.

Сравнение.

Чтобы не возвращаться потом, опишем сразу железные и софтовые профиты и минусы, по сравнению с аналогами.
Принято считать хорошим примером в мире устройств домашней автоматизации — raspberry pi (малинка). Эта плата, а конкретно модель pi3 b+, работает на базе 4х ядерного чипа BCM2837 с 1гб ОЗУ.


Плата имеет огромное комьюнити и почти любой вопрос, которым вы можете задаться в рамках работы с ней, скорее всего, уже решен до вас. Это ее неоспоримый плюс: поддержка. За это можно и иногда нужно переплатить(цена вопроса 30-35$). Если вы решите прошивать тв-бокс и устанавливать на него софт, будьте готовы: вы с этим(вероятно) один на один.
Также у малинки на борту разведена гребенка GPIO и других разъемов, которыми можно беспроблемно управлять хоть из ОС, хоть из уровня ПО(python\domoticz etc).


Если ваши задачи связаны с управлением датчиками или низкоуровневыми протоколами 1-wire \ i2c \ GPIO релешками и прочим прямо с платы: тв-бокс с linux тоже не про это.
В чем же плюс? А плюс в наличии готового устройства.


У вас за те же или меньшие, по сравнению с raspberry pi3, деньги будет: достаточно мощный процессор, нормальный корпус!, хороший блок питания, охлаждение(но это не точно), интерфейсы hdmi\ethernet\usb\av\audio, bt\wifi, ir (многие из них не запустятся в линуксе без танцев с бубном), антенны, внутренний накопитель. У вас будет более высокая производительность процессора и больше (в данном примере) оперативной памяти.
Сравнение производительности:

System: amlogic: GNU/Linux
OS: GNU/Linux — 3.14.29 — #146 SMP PREEMPT Tue Dec 26 12:40:49 MSK 2017
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap=«UTF-8», collate=«UTF-8»)
16:22:44 up 9 min, 1 user, load average: 0.21, 0.18, 0.10; runlevel 5

— Benchmark Run: Tue Mar 27 2018 16:22:44 — 16:50:50
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 7436510.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1312.0 MWIPS (10.1 s, 7 samples)
Execl Throughput 871.6 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 180951.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 56264.8 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 428546.6 KBps (30.0 s, 2 samples)
Pipe Throughput 437935.7 lps (10.0 s, 7 samples)
Pipe-based Context Switching 93731.8 lps (10.0 s, 7 samples)
Process Creation 3236.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2428.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 714.0 lpm (60.1 s, 2 samples)
System Call Overhead 929656.2 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 7436510.3 637.2
Double-Precision Whetstone 55.0 1312.0 238.6
Execl Throughput 43.0 871.6 202.7
File Copy 1024 bufsize 2000 maxblocks 3960.0 180951.1 456.9
File Copy 256 bufsize 500 maxblocks 1655.0 56264.8 340.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 428546.6 738.9
Pipe Throughput 12440.0 437935.7 352.0
Pipe-based Context Switching 4000.0 93731.8 234.3
Process Creation 126.0 3236.2 256.8
Shell Scripts (1 concurrent) 42.4 2428.7 572.8
Shell Scripts (8 concurrent) 6.0 714.0 1190.0
System Call Overhead 15000.0 929656.2 619.8
========
System Benchmarks Index Score 421.7

System: rpi3: GNU/Linux
OS: GNU/Linux — 4.9.35-v7+ — #1014 SMP Fri Jun 30 14:47:43 BST 2017
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap=«ANSI_X3.4-1968», collate=«ANSI_X3.4-1968»)
CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)

CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)

CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)

CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)

16:26:55 up 20:47, 1 user, load average: 0.77, 0.98, 0.57; runlevel 3

— Benchmark Run: Tue Mar 27 2018 16:26:55 — 16:56:17
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 2179181.5 lps (10.0 s, 7 samples)
Double-Precision Whetstone 368.3 MWIPS (9.9 s, 7 samples)
Execl Throughput 463.0 lps (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 73545.4 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 20941.9 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 194029.5 KBps (30.0 s, 2 samples)
Pipe Throughput 155045.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 27361.7 lps (10.0 s, 7 samples)
Process Creation 1177.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1176.1 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 317.4 lpm (60.1 s, 2 samples)
System Call Overhead 333399.9 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 2179181.5 186.7
Double-Precision Whetstone 55.0 368.3 67.0
Execl Throughput 43.0 463.0 107.7
File Copy 1024 bufsize 2000 maxblocks 3960.0 73545.4 185.7
File Copy 256 bufsize 500 maxblocks 1655.0 20941.9 126.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 194029.5 334.5
Pipe Throughput 12440.0 155045.4 124.6
Pipe-based Context Switching 4000.0 27361.7 68.4
Process Creation 126.0 1177.1 93.4
Shell Scripts (1 concurrent) 42.4 1176.1 277.4
Shell Scripts (8 concurrent) 6.0 317.4 529.0
System Call Overhead 15000.0 333399.9 222.3
========
System Benchmarks Index Score 159.7

— Benchmark Run: Tue Mar 27 2018 16:56:17 — 17:25:34
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables 8690198.1 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1470.5 MWIPS (10.0 s, 7 samples)
Execl Throughput 1266.4 lps (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 113576.7 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 31186.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 332597.5 KBps (30.0 s, 2 samples)
Pipe Throughput 616170.2 lps (10.0 s, 7 samples)
Pipe-based Context Switching 95804.8 lps (10.0 s, 7 samples)
Process Creation 2793.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2657.3 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 341.1 lpm (60.2 s, 2 samples)
System Call Overhead 1277095.6 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 8690198.1 744.7
Double-Precision Whetstone 55.0 1470.5 267.4
Execl Throughput 43.0 1266.4 294.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 113576.7 286.8
File Copy 256 bufsize 500 maxblocks 1655.0 31186.4 188.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 332597.5 573.4
Pipe Throughput 12440.0 616170.2 495.3
Pipe-based Context Switching 4000.0 95804.8 239.5
Process Creation 126.0 2793.2 221.7
Shell Scripts (1 concurrent) 42.4 2657.3 626.7
Shell Scripts (8 concurrent) 6.0 341.1 568.6
System Call Overhead 15000.0 1277095.6 851.4
========
System Benchmarks Index Score 395.2

Есть смысл заморочиться? Ну, я заморочился :)

Установка ОС.

Все достаточно просто. Листаем выше обозначенную тему до постов “последний стабильный образ” и переходим на яндекс.диск: на момент написания (12.2017) это здесь
Скачиваем образ системы и заливаем на sd или usb флэшку с помощью программ rufus или win32diskimager.
Важным является момент активации загрузки. Для этого нужно загрузиться в андроид, вставить созданный на предыдущем шаге накопитель и через стандартную программу обновления (update&backup) исправить загрузчик бокса, т.е. запустить с флэшки скрипт обновления (aml_autoscript.zip). Подходящий файл будет на флешке только один, вы не перепутаете его. После запуска обновления, бокс перезагрузится и, если все сделано правильно, запустится выбранный образ Linux.
Учетные данные для образа armbian (ubuntu 16.04): root, пароль: 1234.
При первом входе будет запущена процедура изменения пароля и затем создания нового (нерутового) пользователя. Когда все будет выполнено — бокс еще раз перезагрузится. После этого, рекомендую назначить для твбокса постоянный ip адрес в DHCP на вашем домашнем роутере. После чего ходить на твбокс будет удобно по ssh (я пользуюсь для этих целей putty в windows).
Итак, мы в линуксе. На этом этапе, если вы жадный IT менеджер и планируете унижать своих пользователей(или сами любите страдания), вы можете сообщить: вот полноценный компьютер с ОС Linux! В нем можно запускать офис, выполнять типовые задачи и\или использовать браузер. Можно устанавливать дополнительные программы.
Лично я не склонен считать получившуюся систему полноценной. Я бы назвал это тонким клиентом, из которого, например, можно использовать сервисы предприятия в режиме удаленного рабочего стола, vdi или через веб интерфейсы.
На этом этапе также могут возникнуть вопросы с железом, например wifi и аппаратной поддержкой декодирования видео. Уважаемый balbes150 дает нам подборку драйверов(в терминологии linux — модулей ядра) в образе (утилита armbian-config), но с большой вероятностью вы можете оказаться в пролете и они не заработают. Увы, китайцы в каждом боксе ставят разную периферию. С этой проблемой вы, вероятно, один на один, ну или может вам помогут на форуме. Гуглите.
Для дома, получившуюся систему можно установить без графического интерфейса, а все необходимые функции получать в виде веб интерфейсов. Я использую дистрибутив Ubuntu server 16.04.

Пример №0: Тривиальный. Настройка торентокачалок, файлохранилок.

Что тут можно посоветовать. Любое ПО на ваш вкус.
Для торренов могу порекомендовать transmission
Для общих папок с windows: samba.
Самбу, кстати, можно использовать для автоматического резервного копирования видео с популярных камер Xiaomi Dafang по вот этой инструкции.
Для монтирования яндекс диска используем dav2fs — чтобы превратить ваш бокс в облачное хранилище, например, для тех же видеозаписей с камеры.

Пример №1: Установка системы домашней автоматизации на примере Domoticz (или majordomo\OpenHAB по вкусу).

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

После нескольких простых вопросов у вас на порту 8080 будет запущен интерфейс Domoticz. Далее подключение и настройка устройств осуществляется через этот веб интерфейс.
Без труда можно интегрировать с умным домом xiaomi и выключателями sonoff, избавив их от гнета Китая :)
Выглядит в сборе примерно так:





Пример №2: Видеонаблюдение на базе motion+motionEye.

Кто не знает, motion это видеорегистратор с открытым исходным кодом. А motionEye это веб-интерфейс для настройки камер и управления архивами.
Устанавливается по инструкции (со 2го шага)
Выглядит так:



Кстати, он умеет работать с непосредственно подключенными USB web камерами. Ну, это понятно, что для любителей приключений…
RTSP потоки сильно грузят процессор, поэтому больше 2-х потоков в разрешении 720р amlogic s905x вряд ли вытянет.
У меня дома, кстати, стоят камеры Xiaomi Xiaofang с хаком. С помощью motionEye и хака можно просматривать видео (rtsp) с камер и получать изображения без помощи родного приложения MiHome. Я считаю это очень важным, т.к. стабильность и защищенность китайского облака оставляет желать лучшего.
Мой вариант использования: при открытии входной двери, датчик открытия отправляет запрос на сервер автоматизации, там python скрипт, запущенный linux лезет к камерам и получает с них фото, после чего направляет их мне через pushover по ftp или telegram.
Далее совмещайте с Яндекс-Диском и получайте облако для записей.

Пример №3: Продвинутый. Управление системой через Телеграм с помощью бота на Python.

Данный кейс требует некоторых навыков программирования и был очень удобен до последних событий, связанных с РКН. Я планировал использовать телеграм бота для отказа от белого IP дома.
На текущий момент ситуация не изменилась кардинально, но возможны проблемы со стабильностью, но скрипт бота приходится запускать с использованием прокси. Для надежности и секурности рекомендую обзавестись собственным proxy/vpn.
В основе бота лежит библиотека python-telegram-bot
Мой бот выполняет следующие функции:

  • запуск linux shell команд, перенаправление вывода в телеграм
  • краткая информация о состоянии устройства
  • информация о состоянии домашних устройств
  • получение фото с камер
В работе выглядит так:







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

  • Зачем?
  • Как?
  • Проверка работы необходимых модулей
  • Альтернативные варианты
  • Практическое занятие
  • Установка Gentoo на ext2-раздел
  • Нативная установка
  • Что дальше
  • WWW

Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС 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 по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.

backtrack2

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

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

Другие статьи в выпуске:

Хакер #164. Железный дуршлаг

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

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

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

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

  • Получаем права root:
  • Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его:

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

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

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

    1. Обновляемся и устанавливаем TightVNCserver:
    2. Создаем файл /root/.vnc/xstartup и пишем в него следующее:

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

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

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

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

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

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

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

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

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

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

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

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

  • Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu):
  • Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта :). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.

    Ubuntu на Galaxy Tab 10.1

    Ubuntu на Galaxy Tab 10.1

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

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

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

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

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

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

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

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

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

    Что дальше

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

    Сборка образа Armbian для TV-Box HK1

    Сама плата HK1 естественно не поддерживается дистрибутивом, но построена на поддерживаемой платформе Amlogic S905X3 (meson-sm1).
    Чип на моей платформе обозначается как meson-sm1. Чтобы собрать образ под этот чип над найти наиболее похожую плату из списка имеющихся. Для этого в директории, куда скачали репозиторий armbian выполняем:

    На данный момент наиболее похоже на то что мне нужно выглядит файл odroidc4.conf.
    Собираю Ubuntu 20.10:

    На моем ноуте с процессором Ryzen 4800H сборка в докере идет 47 минут (с учетом выкачивания всех зависимостей, канал 100Мбит/с), а после выкачивания зависимостей - 8 минут.
    После того, как я подключился к консоли, дождался загрузки android'а, подключил флешку с файлом образа и выполнил:

    Бокс ожидаемо окрипичился :))) с таким сообщением (среди прочих):

    Судя по всему это значит, что параметры инициализации памяти, которые есть в новом загрузчике не подошли к моей железке. Вот тут: https://github.com/3F/aml_s905_uboot я нашел как можно их взять из старого загрузчика и добавить в новый. План был такой - с помощью Amlogic USB Burning Tool я прошью старую прошивку, а дальше - выдеру старого бутлоадера параметры для инциализации памяти. НО это не понадобилось!!
    Оказалось, кнопка Reset на моей коробке не работает (она в разъеме 3,5мм) и воспользоваться Amlogic USB Burning Tool я не смогу. После подключения коробки USB-шнурком A-A к ноуту и подаче питания при зажатой (предполагаемой) кнопкой Reset в настольной системе новое USB-устройство не появлялось, а в консоли всё тот же boot loop.
    Я внимательно изучил печатную плату возле чипа флешки, а также на обратную исторону и увидел пару контактных площадок.
    Терять было нечего - с помощью dd я залил на SD-карту в самое начало карты старый bootloader (слава богу я сохранил все разделы со старой прошивкой), вставил в коробку SD-карту, подал питание и замкнул контактные площадки на обратной от чипа флехи стороне платы отверткой.
    Вместо таких сообщений в начале лога:

    Внезапно - она не нашла встроенный NAND-flash, но нашла опреативку, SD-карту и сначала загрузилась старым бутлоадером:

    Затем прошло что-то похожее на тестирование RAM, а потом - я увидел загрузку нового U-Boot:

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

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

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

    и дальше пусто. В конфиге build/config/bootscripts/boot-odroid-c4.ini указано устройство консоли ttyS0, а должно быть наверное ttyAML0 Но, судя по тому что моргание светодиодов у коробки стало другим было похоже, что что-то там загружалось и через некоторое время увидел вот такое:

    и дальше - приглашение ввести новый пароль!! Система смогла нормально загрузиться с SD-карты. Потом я выключил бокс, вытащил карту и система уже нормально загрузилась с внутреннего накопителя. Armbian сам себя установил. А отсутствие сообщений при загрузке ядра - это сокрее всего некорректные параметры запуска ядра.
    К сожалению, в системе оказался не виден беспроводной модуль (наверное загружается не подходящий dtb).

    В итоге порядок установки Armbian на HK1BOX вышел такой:

    Немного осмелев и поняв, что убить коробку совсем не так уж просто я залил всю внутреннюю флеху нулями и повторил установку. Всё заработало.

    Проблемы

    не загружается при отсоединенной последовательной консоли

    U-Boot не загружает систему, если отключена консоль (кабель физически не подключен).
    При подключении кабеля rs-232 в момент “зависания” там видно приглашение консоли U-Boot. Всё выглядит так, как если бы загрузка прервалась по нажатию клавиши.
    При нажатии Enter в консоли U-Boot должна выполниться последняя команда, но там в последней команде обычно бывал какой-то мусор, причем довольно часто разный.
    Я сделал вывод, что скорее всего консоль не притянута к +3.3 и “шумит” - то есть самопроизвольно льет всякий мусор в RX. Выход - в коробке между выводом V (3.3V) и RX припаять резистор 47-100кОм.
    И это помогло. Теперь всё нормально загружается.

    Не смог загрузить образ

    Не смог загрузить образ, собранный вот так:

    Хотя вот такой вариант грузился норм:

    Хотя имеет проблемы с работой systemd и других программ. Веротяно - дело в версии glibc или других библиотек. В итоге сейчас нормально заработал такой:

    Загрузка с sd-карты для переустановки системы

    В скриптах загрузки U-Boot из Armbian обнаружил, что можно переключать загрузочные устройства - практически как в BIOS ПК.
    Для того, чтобы стартануть с SD-карты нужно в консоли U-Boot выполнить:

    Убедиться, что под номером 0 видна SD-карта. И затем загрузиться с нее:

    Предполагается, что на SD-карте будет образ, совместимый с текущими скриптами U-Boot.

    fdt задан в U-Boot

    В параметрах U-Boot жестко приписан путь к dtb

    И на девайссе HK1BOX с этим dtb не заработал Wi-Fi. Я просто скопировал под этим именем dtb, с которым все работает, перезагрузился и Wi-Fi появился:

    Раскирпичивание

    Специально ради эксперимента я залил нулями весь внутренний флеш.
    Восстановить коробку удалось так:

    То есть фактически грузим систему с SD-карты.

    Всё что написано ниже - заметки о моих первых попытках что-то залить в TV-Box HK1. Оно не очень уже актуально, но может кому-то поможет.

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

    На самом деле это скрипт. Фактически, если отбрсить всякие if-then он делает следующее:

    разобратьэто все, можно если выполнить команду

    и начать копать.
    Загрузка начинается с выпонения того, что написано в bootcmd. Чтобы printenv выводил длинные строки целиком необходимо в терминале включить wrapping в minicom это можно сделать нажав Ctrl-A, затем Z и затем W.

    Нормально подошел meson-sm1-khadas-vim3l.dtb с образа Armbian_19.11.5_Arm-64_eoan_current_5.5.0-rc6_20200127.img
    А вот результаты тестирования некоторых других dtb:

    Чтобы после установки на emmc логи systemd сыпались в консоль нужно дописать в строку запуска ядра в файлике /boot/uEnv.txt параметр systemd.log_target=console:

    Отказалась загружаться с образа Armbian_19.11.3_Aml-g12_eoan_legacy_5.3.0_20191126.img как с SD-карты, так и с двух портов USB. Это значит, что для того, чтобы загрузить ее с внешнего носителя нужно изменить настройки загрузчика U-Boot.

    Поэтому - следуем мануалам armbian. Вставляю карточку с armbian, загружаюсь в Android , иду в Apps, нахожу там Update, кликаю UpdateLocale - Select, выбираю BOOT/aml_autoscript.zip, и кликаю Update. Система перезагружается и я вижу меню bootloader'а и ошибку:

    Этот скрипт должен был скорректировать параметры загрузки U-Boot и позволить загрузиться с sd-карты, однако, судя по всему, установка неподписанных обновлений запрещена, поэтому нужно подключиться к консоли.

    На плате оказались “пятачки” с обозначениями 'V R T G' - видимо консоль. Я откопал старинный провод USB-COM на базе pl2303, с помощью которого я когда-то подключал Siemens ME45 к компу для выхода в интернет, припаял к плате TV-Box'а три проводочка - G (земля), R и T (прием и передача) и запустил minicom:

    При включении TV-Box'а в консоли minicom побежали сообщения.

    Для того, чтобы прервать загрузку и скорректировать параметры загрузки нужно понажимать пробел и появится приглашение консоли U-Boot:

    Теперь можно поглядеть текущие параметры загрузки. Чтоы длинные строки можно было увиждеть целиком - включаем перенос (Ctrl+a w).

    Если при вставленной SD-карте выполнить:

    то успешно загружается в память ядро - файлик zImage с первго раздела вставленной SD-карточки:

    В данном случае 1080000 - это значение переменной loadaddr из вывода printenv.

    Для того, чтоб запустить какое-либо cтороннее ядро нам нужен образ ядра и файл dtb (DeviceTreeBlob). Ядро у нас есть (на карте памяти), а dtb нужно либо скомпилировать, либо - извлечь.
    Вот # cat /proc/cmdline

    С работающего андроида

    https://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-firmware-files/
    Чтобы извлечь dtb из текущей прошивки нужно сделать образ раздела boot или recovery и распаковать его с помощью утилиты split_bootimg.pl. У меня не получилось распаковать образ раздела boot (распаковывался неполностью), но нормально распаковался образ раздела recovery.
    Для этого:

    Кстати, извлечь этот файлик с помощью стандартных утилит android_bootimg_tools не удалось. RamDisk и kernel извлекаются, а вот третий файлик - нет!

    Нужный нам файлик - recovery.img-second.gz
    Убедиться, что полученный файлик - это dtb можно, декомпилировав его. Как это сделать - написано ниже.

    Изменение аппаратных настроек в файле dtb с помощью DTC

    Изменение объема памяти, выделенной видеоадаптеру

    Вот в таком кусочке кода (параметр size):

    Задается объем памяти, выделенной видяхе. В данном случае выдляется 32Mb.

    Изменение доступного объема RAM

    Настройки (bootargs и dtb) лежат в файлике uEnv.txt

    В оригинале загружается содержимое раздела boot и хапускается, а там указан androidboot.dtbo_idx.

    Вероятно, можно просто перепаковать. boot.img - https://www.whitewinterwolf.com/posts/2016/08/11/how-to-unpack-and-edit-android-boot-img/
    Или просто добавить этот параметр к строке запуска ядра как тут:

    Если появляется сообщение:

    Значит нужно задать переменную androidboot.dtbo_idx:

    Значение которой видно при распаковке boot.img:

    Запустить скрипт путем update не удалось (т.к. он не подписан), однако, после пристального изучения вывода printenv оказалось, что его успешно запускает команда recovery_from_sdcard, прописанная в env U-Boot. То есть - готовим флеху, в консоли RS-232 жмем пробелы и в ответ на приглашение U-Boot вводим такое:

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

    На первый взгляд, использование Android TV приставки в качестве компьютера кажется не самой лучшей идеей и на это есть целый ряд причин: не удобно, нет нужных приложений в Google Play, интерфейс не тот и т.д. А что если я скажу вам, что это все решается в несколько кликов, без переустановки системы и прочих танцев с бубном?

    Что понадобится

    Для того, чтоб собрать ПК на базе ТВ бокса вам понадобится:

    • TV Box под управлением Android 0+. Желательно чтоб на вашем устройстве было не менее 2 ГБ ОЗУ (для комфортного использования).
    • Мышь и клавиатура. Проводная (USB) или беспроводная – не имеет значения.
    • Флешка USB.
    • 10 минут свободного времени.

    Установка приложений

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

    Диспетчер файлов

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

    Ранее я уже писал про файловые менеджеры, можете выбрать один из них:

    Launcher

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

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

    Launcher

    Launcher

    • Launcher Screenshot
    • Launcher Screenshot
    • Launcher Screenshot

    Оболочка Windows

    Чтоб наш компьютер хоть как-то был похож на компьютер, предлагаю установить на него подобию интерфейса Windows 10 и в этом нам поможет ещё один launcher (загрузчик) с названием «Sentio Desktop».

    Sentio Desktop имеет очень схожий интерфейс с ОС Windows 10, рабочий стол, привычное меню пуск, панель быстрого доступа, область уведомлений и всё остальное, что вам может понадобится.

    Ссылка на приложение и скриншоты интерфейса:

    Sentio Desktop (Lollipop, Marshmallow)

    Sentio Desktop (Lollipop, Marshmallow)

    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot
    • Sentio Desktop (Lollipop, Marshmallow) Screenshot

    Если у вас полноценный Android TV, установить это приложение из магазина Google Play Вы не сможете, поэтому оставляю ссылку на загрузку с 4pda (нужна авторизация):

    Что нужно ещё

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

    Почти готово

    После того, как Вы установили все нужные приложения, достаточно запустить «Sentio Desktop», предоставить ему все разрешения для работы с файлами, интернетом и т.д. и можно пользоваться аналогом компьютера, но для полноценной работы осталось настроить клавиатуру и для этого вам нужно:

    • Подключите клавиатуру к устройству.
    • Перейдите в настройки ТВ бокса и найдите «Язык и ввод».
    • У вас будет 2 клавиатуры «Физическая» и «виртуальная». Откройте физическую клавиатуру.
    • Отключите отображение виртуальной клавиатуры сдвинув “рычажок”
    • Откройте «Выбор раскладки клавиатуры», затем «Настроить раскладки клавиатуры» и добавьте те языки, которые вам необходимы, к примеру: Русский и Английский USA.
    • Теперь Вы можете переключать языки нажав сразу две клавиши «Ctrl+Пробел».

    Видео

    Всё готово, теперь Вы можете использовать свой TV Box вместо компьютера. Разумеется, если вам для работы необходим специальный и сложный софт, это устройство не заменит стационарный ПК, но, если Вы не требовательный пользователь, тогда можно и вовсе отказаться от громоздкого системника.

    Что Вы думаете по этому поводу, все ли у вас получилось, возникли трудности с установкой и использованием? Пишите в комментарии, очень интересно!

    Читайте также: