Перейти к содержимому

Как установить debian на android

  • автор:

Возможно ли установить Debian ARM на телефон с Android?

Я понимаю, что телефон без звонилки – уже не телефон. Однако проскакивает такой вопрос в голове моей.

Суть такова: настраивается супергипер эмуляция процессора arm, подключаются к виртуалке флеха с дебианом и телефон на андроиде. Потом происходит обычная установка Debian Gnome, только в качестве диска указывается не хард виртуалки, а телефон. И потом перезагрузка телефона. Будет ли это чудо так работать?

П.С. У меня есть глючненький телефон с разбитой камерой. Он все равно никому не нужен. Думаю процедуру проводить на нем. А что, может получится.

zagatov_lev
24.07.20 12:41:53 MSK

Установка любого Linux на телефон или планшет на Android вместо последнего в первую очередь упирается в отсутствие драйверов и залоченность загрузчика на самом аппарате.

https://postmarketos.org/ — вот это может и поставится, но не факт.

Если тебе просто нужен Linux с его утилитами на Andorid, то поставь в контейнер, это даже root не требует (хотя опционально и это можно) — Termux https://termux.com/ и схожие проекты в помощь.

Vsevolod-linuxoid ★★★★★
( 24.07.20 12:46:23 MSK )
Последнее исправление: Vsevolod-linuxoid 24.07.20 12:49:42 MSK (всего исправлений: 3)

Можно запустить линукс только через chroot (с правами root) или proot (без прав). Какие-то другие варианты установки требуют от тебя флагманской модели.

Artamudo ★★★★
( 24.07.20 12:49:08 MSK )
Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 12:46:23 MSK

Во-первых, там вроде как бздя.

Во-вторых, я так и не нашел в нем крысу, гном или кеды.

zagatov_lev
( 24.07.20 12:57:00 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 12:57:00 MSK

Vsevolod-linuxoid ★★★★★
( 24.07.20 12:58:52 MSK )
Последнее исправление: Vsevolod-linuxoid 24.07.20 12:59:33 MSK (всего исправлений: 1)

Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 12:58:52 MSK

простите, да, линух. А крысы нет, unable to locate package xfce4.

ps. Просто не думал, что в линухе есть pkg. pps. Говорят установить xorg-repo, такого пакета тоже нет

zagatov_lev
( 24.07.20 13:03:33 MSK ) автор топика
Последнее исправление: zagatov_lev 24.07.20 13:07:25 MSK (всего исправлений: 1)

Ну, чисто линукс на телефоне уже давно есть, это — postmarketOS. Ссылку выше уже привели.

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

Я лично, вижу другую схему использования линукса на андроид-смартфоне: запуск линукс-дистрибутива под ARM в контейнере на базе текущего ядра ведроида и удалённый доступ к нему по сети через SSH, Xpra и подобные решения. Xpra в теории может даже 3D ускорение устройства юзать (на практике, всё совсем не так хорошо).

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

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

DawnCaster ★★
( 24.07.20 13:05:41 MSK )
Последнее исправление: DawnCaster 24.07.20 13:13:49 MSK (всего исправлений: 1)

А эмуляторы arm есть, которые нормально работают с usb устройствами?

zagatov_lev
( 24.07.20 13:08:26 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 13:03:33 MSK

Ты читать доки будешь? Там четко сказано: нужно подключить репозиторий с x11 программами!

И как в контейнере на Android, который на ядре Linux, может быть BSD, если контейнер — это не виртуальная машина, и он использует ядро хоста?

И там не совсем pkg, как я понял, тамошний pkg — это просто надстройка над apt, причем сам apt тоже пашет.

Vsevolod-linuxoid ★★★★★
( 24.07.20 13:08:47 MSK )
Последнее исправление: Vsevolod-linuxoid 24.07.20 13:08:56 MSK (всего исправлений: 1)

Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 13:08:47 MSK

Ничего такого там нет.

Я пытаюсь его подключить, но он не подключается. unable to locatepackage x11-repo.

zagatov_lev
( 24.07.20 13:10:42 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 13:10:42 MSK

У тебя вообще хоть что-то ставится? Что выдает

kpg update

Vsevolod-linuxoid ★★★★★
( 24.07.20 13:12:21 MSK )
Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 13:12:21 MSK
zagatov_lev
( 24.07.20 13:12:56 MSK ) автор топика
Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 13:12:21 MSK
zagatov_lev
( 24.07.20 13:14:22 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 13:14:22 MSK

Хм. у меня Xfce на Termux пашет, завел по инструкции с wiki.

Vsevolod-linuxoid ★★★★★
( 24.07.20 13:16:08 MSK )
Ответ на: комментарий от Vsevolod-linuxoid 24.07.20 13:16:08 MSK

Установил. как я понял, нужно vnc на компе?

zagatov_lev
( 24.07.20 13:16:58 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 13:16:58 MSK

Или на самом телефоне. 127.0.0.1 никто не отменял. Хотя у меня лучше работает X-server для Android.

Vsevolod-linuxoid ★★★★★
( 24.07.20 13:19:09 MSK )

Буду краток. Ненужно. А если очень хочется, то Linux deploy. Это не эмуляция, а chroot. Даже через фреймбуфер заводили вывод, а не через тормозной vnc. А вообще я его использовал как удалённый сервак, тренироваться. По WiFi цепанулся с компа и сиди себе, настраивай

karton1 ★★★★★
( 24.07.20 13:39:50 MSK )
Ответ на: комментарий от karton1 24.07.20 13:39:50 MSK

Ну просто так, попробовать, какого это. Все равно телефон даже на запчасти не разберешь.

zagatov_lev
( 24.07.20 13:47:56 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 13:47:56 MSK

Ну тогда Linux deploy твой путь

karton1 ★★★★★
( 24.07.20 14:30:46 MSK )
Ответ на: комментарий от karton1 24.07.20 14:30:46 MSK

Нет, мне нужно, чтобы все работало без андрюхи. Отдельно андрюха отдельно линух

zagatov_lev
( 24.07.20 14:32:08 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 14:32:08 MSK

Всё достаточно сложно, чтобы просто сказать никак.

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

Если запускать на голом железе, то проще продать свою мобилу и купить другую, из тех что поддерживается SailfishOS… Да, Sailfish, не postmarket. В этом случае хотя бы можно пользоваться телефоном как телефоном с довольно необычным, но всё же удобным интерфейсом.

a1batross ★★★★★
( 24.07.20 16:17:21 MSK )
Ответ на: комментарий от a1batross 24.07.20 16:17:21 MSK

Салифиш платный, нет?

zagatov_lev
( 24.07.20 16:19:27 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 16:19:27 MSK

Только с поддержкой Android приложений.

В целом, если хватает денег на Xperia XA2, то можно и купить лицензию. Я не пожалел, когда брал на Xperia X, жалко само устройство уже попало мне юзанным и быстро пришло в негодность.

a1batross ★★★★★
( 24.07.20 16:19:56 MSK )
Последнее исправление: a1batross 24.07.20 16:21:10 MSK (всего исправлений: 1)

Возможно ли установить Debian ARM на телефон с Android?

Обычно если человек задаёт такой вопрос, ответ: «нет».

подключаются к виртуалке флеха с дебианом и телефон на андроиде. Потом происходит обычная установка Debian Gnome, только в качестве диска указывается не хард виртуалки, а телефон.

  • Ты не получишь так доступ к внутренней флеш-памяти, где ОС стоит;
  • Загрузчики первых стадий специфичны для конкретных моделей железки;
  • Драйверов оборудования нет;
  • Конфигурации оборудования специфичны для конкретных моделей;
  • Настольными системами тяжело даже на планшетных ПК пользоваться, если нет клавиатуры и мыши. Чего уж там о телефоне говорить с его крохотным экраном.

Всё может быть. Только шансы исчезающе малы.

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

i-rinat ★★★★★
( 24.07.20 18:47:28 MSK )
Ответ на: комментарий от i-rinat 24.07.20 18:47:28 MSK

чего уж там о телефоне говорить с крохотным экраном

Крохотный? У меня монитор на ноутбуке чуть больше современных телефонов. Тлф 5.5”, ноут 7”. Искренне не понимаю, как можно работать с монитором больше.

zagatov_lev
( 24.07.20 19:01:22 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 19:01:22 MSK

Что за модель такая?

i-rinat ★★★★★
( 24.07.20 19:27:55 MSK )
Ответ на: комментарий от i-rinat 24.07.20 19:27:55 MSK
zagatov_lev
( 24.07.20 20:32:47 MSK ) автор топика
Ответ на: комментарий от zagatov_lev 24.07.20 20:32:47 MSK

И твоя «работа» на нём это игры, так?

i-rinat ★★★★★
( 24.07.20 20:41:23 MSK )

На стандартный нет, нельзя.

На pinephone можно.

sparkie ★★★
( 24.07.20 22:53:41 MSK )
Ответ на: комментарий от i-rinat 24.07.20 20:41:23 MSK

Ну, офис, игрушки консольные, интернет.

zagatov_lev
( 24.07.20 23:34:00 MSK ) автор топика

Если краткий ответ: скорее всего нет, точно, никак.
Если более развёрнутый. Если у тебя совпало всё же с платформой Mediatek, то ncrmnt оживлял и портировал его на некоторые устройства, помню его новость https://www.linux.org.ru/news/opensource/13565873/. Но я бы, на твоём месте, не рассчитывал на такой успех. Ну и ставил в chroot, о чём тебе и говорили. Хороший пример, это Linux Deploy. Play Market, подробные инструкции на 4pda. Учти, что батарею оно жрёт как не в себя.

fehhner ★★★★★
( 25.07.20 00:49:02 MSK )
Последнее исправление: fehhner 25.07.20 00:49:27 MSK (всего исправлений: 1)

только в качестве диска указывается не хард виртуалки, а телефон

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

И потом перезагрузка телефона. Будет ли это чудо так работать?

Так просто — не будет. Фирмварь телефона не имеет механизма поиска загрузчика или ядра ОС на файловых системах вроде менеджера загрузки EFI, в ней захардкожен участок накопителя с которого следует грузить ядро, т. е. отдельный раздел который вместо файловой системы содержит образ ядра в особом формате mkbootimg. Если ты сумеешь его туда правильно записать — оно теоретически загрузится, но не сможет ничего сделать т. к. не сможет обнаружить никаких устройств кроме описанных самой архитектурой arm. Потому что у фирмвари телефона нету механизма передачи описания устройств от фирмвари вроде ACPI. Вернее, есть device tree, но на всех этих телефонах он не работает лол. То есть, дерево, которое передает ядру uboot, содержит только те устройства, которые нужны самому uboot для того чтоб загрузить ядро, при этом предполагается, что в собранном конкретно для этого телефона ядре должно быть вкомпилено полное дерево. О драйверах устройств пока что даже речь не идет, заметь.

Добро пожаловать в мир embedded говна. Здесь лишь тьма и Pine64 единственный луч надежды в ней.

AnLinux: простой способ установить Linux-окружение на Android-телефон без рута

Любой телефон или планшет, работающий на Android, — это устройство, которое управляется ОС Linux. Да, очень модифицированной ОС, но все же основа Android — ядро Linux. Но, к сожалению, для большинства телефонов опция «снести Android и поставить дистрибутив по своему вкусу» недоступна.

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

Что такое AnLinux?

Это специализированное ПО, которое дает возможность использовать Linux на телефоне при помощи монтирования образа, содержащего root-файловую систему любого из дистрибутивов, включая Ubuntu, Kali, Fedora, CentOS, OpenSuse, Arch, Alpine и многих других. Инсталлятор использует PRoot для эмуляции root-доступа.

PRoot перехватывает все выполняемые пользователем вызовы, которые требуют в обычной ситуации root-доступа, и обеспечивает их работоспособность в обычных условиях. В PRoot используется системный вызов ptrace для отладки ПО, который помогает достичь цели. С PRoot все это можно сделать как с chroot, но без root-прав. Кроме того, PRoot предоставляет фейковый доступ пользователю для пседвофайловой системы.

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

Конечно, это не идеальный вариант «завести» Linux на смартфоне, но он вполне рабочий.

С чего начать?

Основное — Android-смартфон с версией ОС не ниже Lollipop. Кроме того, пойдет и 32-битное или 64-битное ARM или x86-устройство. Кроме того, потребуется солидный объем свободного файлового пространства. Для этого можно использовать карту памяти или просто устройство с большим объемом внутренней памяти.

Кроме того, потребуется:

  • AnLinux (вот ссылка на Google Play).
  • Termux (снова понадобится Google Play).
  • VNC Client (VNC Viewer — хороший вариант).
  • Bluetooth-клавиатура (опционально).
  • Bluetooth-мышь (опционально).
  • HDMI кабель для мобильного телефона (опционально).

Что же, приступим

Как только установлен Termux, получаем полноценную консоль. Да, рута нет (если телефон не рутован), но ничего страшного. Следующий шаг — установка образа для дистрибутива Linux.

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

После выбора дистрибутива активируются две другие кнопки. Вторая позволяет загрузить в буфер обмена команды, необходимые для загрузки и установки Linux. Обычно это pkg, wget команды и скрипт для их выполнения.

Третья кнопка запускает Termux, так что команды можно вставлять в консоль. Как только все сделано, запускается скрипт, позволяющий загрузить окружение дистрибутива. Для вызова дистрибутива нужно каждый раз запускать скрипт, но установку проводим только один раз.

А что с графической оболочкой?

Если она нужна, то следует лишь выбрать меню для десктопного окружения и использовать больше кнопок — появится не три, а больше. Кроме самого дистрибутива, нужно выбрать еще и оболочку, например, Xfce4, Mate, LXQt или LXDE. В целом, ничего сложного.

Потом кроме скрипта, который запускает дистрибутив, потребуется еще один — он активирует сервер VNC. В целом, весь процесс простой и понятный, он вряд ли способен вызвать затруднения.

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

Этот способ может пригодиться, если вдруг нужно срочно подключиться к серверу, а вы в машине, без ноутбука (конечно, в этом случае все описанные выше операции с AnLinux уже должны быть выполнены). Виртуальная Linux-машина позволяет подключиться к рабочему или домашнему серверу. А если в автомобиле по какой-то причине оказался дисплей и беспроводная клавиатура, то за считанные секунды в салоне можно организовать рабочий кабинет.

Статья Как установить DEBIAN на Android

Scr1.png

У этого скрипта есть опций
-0 → запуск от имени Root в директорий /root,
-n → запуск от имени termux пользователя в директорий /home/u0_12345,
-p → подключить /proc.

5) Следующим шагом исправляем ошибку связанное с /proc.
Д ля этого устанавливаем исправленный паке proot.

cd $HOME wget http://my-files.ru/5ehmpd/proot_5.1.106-3_arm.deb dpkg -i proot_5.1.106-3_arm.deb

6) Устанавливаем sudo чтобы запустить debian от имени root.

git clone https://github.com/st42/termux-sudo cd $HOME/termux-sudo cat sudo > /data/data/com.termux/files/usr/bin/sudo chmod 700 /data/data/com.termux/files/usr/bin/sudo

7)Все теперь запускаем Debian заходим в $HOME/bin , sudo bash enter_deb -0 -p (если у вас есть root права, если нет то без sudo и вместо -0-n) .
Все DEBIAN Установлен.

Scr2.png

Дальше можете установить пакеты из репозиторий Debian`a если вдруг захотите установить Oh-my-zsh или fish, то для них требуются шрифты Powerline для этого просто нужно установить пакет

Ссылка скрыта от гостей

и долгим тапом по экрану в Termux`е выбрать MoreStyle. (Кстати чтобы выйти обратно в Termux просто пишем exit)

Еще немного облегчим задачу чтобы каждый раз не заходить в $HOME и писать enter_deb..
просто в $HOME создаем nano .bashrc файл и туда добавляем

alias root="sudo bash $HOME/bin/enter_deb -0 -p" alias user="bash $HOME/bin/enter_deb -n -p" root (добавляем если хотим сразу же при запуске Termux, зайти в Debian)

Существует и иные пути установки, с помощью таких программ как

Ссылка скрыта от гостей

Но плюсы Debian`a в Termux в том что он требует всего лишь 500-800 мб памяти(со всеми установленными python,ruby . пакетами ) и можно запустить на любом аппарате Android 5.1+ на борту и ОЗУ 1гб+ .

Еще кроме Debian`a можно установить Arch,Ubuntu,Fedora,Slackware

Debian 12 в Termux или как лучше не стоит делать. Установка Debian на Android смартфон

  1. Установите Termux и программу для просмотра VNC (я использовал AVNC).
  2. Обновляем пакеты в Termux:
    pkg update && pkg upgrade
  3. Устанавливаем proot-distro:
    pkg install proot-distro
  4. Устанавливаем Debian:
    proot-distro install debian
  5. Входим в него:
    proot-distro login debian
  6. Обновляем:
    apt update
  7. Устанавливаем vncserver:
    apt install tightvncserver
  8. Установка окружения или рабочего стола:
    apt install lxde —no-install-recommends
    или:
    apt install icewm xterm
  9. Вводим:
    vncserver
  10. Задаем пароль, потом когда спросят -> нажать n
  11. Запустить сервер:
    vncserver

Выключить сервер:
vncserver -kill :1

Debian на вашем телефоне ГОТОВ!

Совет: увеличьте шрифт и подберите разрешение!

Предупреждение: вы всегда работаете тут как root пользователь. Root для телефона не требуется.

Кто хочет боли в глазах и перегруженного смартфона, то сюда 🙂 Также через proot-distro можно установить void, opensuse, ubuntu, fedora, alpine.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *