Pull to refresh

Comments 33

Спасибо за статью!

Я почему-то думал, что если устройства в списке поддерживаемых нет, то поднять систему будет нереально. У самого OnePlus 5T лежит и только форвадит СМС, тоже хочу сделать что-нибудь из него на помощь своему домашнему серверу.

Вопрос по питанию — разве околонулевая зарядка лучше, чем хождение в диапазоне 30-60%, например?

И второй момент — можно развернуть ещё Caddy, тогда можно будет свои локальные домены использовать без пути от Tailscale.

Вопрос по питанию — разве околонулевая зарядка лучше, чем хождение в диапазоне 30-60%, например?

Лучше всего постоянное нахождение в районе 40 %. Любое циклирование вызывает старение.

Вопрос по питанию — разве околонулевая зарядка лучше, чем хождение в диапазоне 30-60%, например?

Уже ответили выше, но да, в целом лучше держать заряд на одном уровне. Литий так меньше интеркалируется в анод, таким образом удается держать объем анода на одном уровне. Меньше дельта изменения объема = меньше износ

И второй момент — можно развернуть ещё Caddy, тогда можно будет свои локальные домены использовать без пути от Tailscale.

Если честно, то не изучал вопрос тк в моем случае я не хотел выставлять бота в публичный доступ извне моей mesh-сети. Как я понимаю, то можно запустить и настроить все, что поддерживает pmOS тк это обычный линукс

У самого OnePlus 5T лежит и только форвадит СМС, тоже хочу сделать что-нибудь из него на помощь своему домашнему серверу

Есть несколько моментов, на которые стоит обратить внимание:

  • Если хочется именно чистый Linux, как в моем случае, то сначала нужно проверить, можно ли разблокировать загрузчик на телефоне. Насколько я помню, Op5t разблокируется не сложнее, чем Op3t

  • Насколько хорошо SoC и платформа в целом поддержаны в mainline Linux или наличие форков под конкретные устройства. Можно и самому доработать, но затратно по ресурсам

Еще есть вариант попробовать сделать в Termux, но того уровня гибкости, который дает полноценная система не получить

Есть мысль: заменить акум на ионистор. В таком случае вроде как "батарея есть" и контроллер не будет с ума сходить, в то же время в случае скачков напряжения он поможет.

У меня старенький смарт обнулён для Enstein@Home (всё равно не нужен) и питается от "солнца". Если акум со временем станет проблемой, думаю как раз в этом направлении. Уличная подсветка, уже перепаянная на это дело в прошлом году, уже показала, что оно того стоит.

У емких ионисторов, чтобы 100 фарад и больше - рабочее напряжение маленькое, придется городить из них батарею (2 штуки минимум) + BMS для их балансировки.

И емкости хватит только на защиту от скачков - там десятки мАч получаются при пересчете, из-за того, что можно использовать только часть напряжения - от 4,2 до 2.9, дальше устройство отключится.

Это да, но в данном случае никто на полноценную замену не претендует. Просто пусть питается от внешней сети, а этот вариант только для обмана контроллера. И чтобы не возникла ситуация, когда через полгода-год аппарат вдруг начинает полнеть и ломать всё внутри, как у меня когда-то с читалкой было из-за вспухшего аккума. :)

Есть мысль: заменить акум на ионистор. В таком случае вроде как "батарея есть" и контроллер не будет с ума сходить, в то же время в случае скачков напряжения он поможет.

Можно собрать любую подходящую по характеристикам батарею, лично мне не хочется вандалить телефон и заниматься сборкой подобного

Я бы с удовольствием почитал про такую доработку, если решите сделать и рассказать об этом

Я бы с удовольствием почитал про такую доработку

У 4G модемов, для постоянной работы от сети, вместо батареи ставят обманку, «dummy battery MF90».

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

https://mst.ramsdr.ru/@mstadmin/115034232361897824

Разумеется, в телефон такой бочёнок не впихнуть, тут только аккуратно вынести контакты и запитать снаружи. Учитывая что смарт планируется как "сервер", то лежать может спокойно в таком виде.

Можно просто не париться и просто удалить батарею. Hо не “в лоб”, так как тогда девайс скорее всего не стартанёт, а:

  • отрезать батарею (сами ячейки от контроллера)

  • замерить на них напряжение

  • купить на али/озоне понижающий преобразователь DC-DC с регулировкой напряжения (с пяти вольт на пониже)

  • на вход преобразователя подать стандартное usb-питание (отдельным проводом), а выход подключить к контроллеру

Из плюсов

  • максимально пожаробезопасно, так как в схеме отсутствует литий в принципе

  • освобождается usb-разъём, так как питание теперь будет по отдельному проводу идти, в него можно проводной ethernet-адаптер воткнуть вместо wifi

Минусы тоже есть

  • придётся паять

  • придётся сверлить корпус, чтобы вывести провод питания

Проделывал такой трюк на Google Nexus 7, уже полгода полёт нормальный

Тоже решил заморочиться с POCO X3 NFC (6/64Gb , 8 ядер) в качестве сервера. В поддерживаемых PMOS устройствах он есть. Можно поставить только консольку, без UI.
Ставится с pmbootstrap без особых проблем. Но есть нюансы :
- спец версии под устройство нет, используется generic qcom-sm7150 сборка.
- без включенного bluetooth ребутится после загрузки ОС, поэтому оставил, отключив все функции для экономии.
- ограниченное управление и мониторинг питания. Не удалось настроить отключение по достижению процента зарядки. Поэтому решил использовать розетку с таймером, чтобы регулярно отключать питание и экономить ресурс батареи.
- не видит доп. SD карту через SIM разъем. Хотя, например, TWRP с ней может работать.
- огорчило то, что не работает dual режим с зарядкой по OTG . Пока что либо зарядка, либо работа с устройствами в USB HUB (хочется подключить ethernet, и всякие USB девайсы, ). Поэтому сейчас коммуникация по WiFi + зарядка.

Докеры и прочие серверные штуки работают как положено. Энергопотребление - 1-2Вт/ч. только на батарее может дней 5-7 жить, если не сильно нагружать проц и WiFi.
В целом, можно использовать в качестве сервера для каких то не сильно нагруженных вещей. У меня там Hermes агент, например.

Можно поставить только консольку, без UI

Я это не упомянул в статье, но у меня именно вариант без UI

Не удалось настроить отключение по достижению процента зарядки

Возможно, что мой сервис поддержания зарядка подойдет

не видит доп. SD карту через SIM разъем. Хотя, например, TWRP с ней может работать

TWRP работает на ядре под Android систему, поэтому там есть все нужные патчи под железо телефона. Можно посмотреть, как обвязка sd карты сделана в android ядре и пропатчить ядро в pmos, но задачка не такая простая

огорчило то, что не работает dual режим с зарядкой по OTG . Пока что либо зарядка, либо работа с устройствами в USB HUB

Тоже проблема поддержки mainline ядро, можно попробовать поизучать android ядро с агентами и сделать патчи для себя

В целом, можно использовать в качестве сервера для каких то не сильно нагруженных вещей. У меня там Hermes агент, например

Тоже есть идея хостить OpenClaw/Hermes, заодно посмотреть на то, как железо телефона справится с двумя сервисами

Почему вы не стали использовать штатный Android в качестве системы для сервера? Кроме проблем с зарядкой батареи были другие серьёзные ограничения?

У Android есть много ограничений

  • всю подобную инфраструктуру нужно разворачивать через Termux те минус гибкость

  • Без глубоких доработок системы/пересборки, нельзя убрать гугл сервисы и прочие потребляющие ресурсы вещи

  • Ограничения/оптимизации андроид по питанию нужно обходить отдельно

  • pmOS без ui после запуска потребляет ~200-300MB RAM и 0% CPU, с андроид даже сравнивать не стоит

всю подобную инфраструктуру нужно разворачивать через Termux те минус гибкость

И про докер можно в принципе на termux забыть

Ядро собрать с поддержкой изоляции namespases и всё всегда работало без проблем.

А сейчас вообще есть просто magisk модуль с докером, установил и работает.

Ядро собрать с поддержкой изоляции namespases и всё всегда работало без проблем.

Лично в моем понимании, если идти в сторону сборки ядра или подобных изменений, то проще уже поставить pmOS как минимум для экономии ресурсов устройства(pmos потребляет гораздо меньше) и большей гибкости

Pmos выигрывает только в одном – headless сервер. Андроид так просто не умеет. Для некоторых задач подходит только обычный Линукс.

А во всем остальном андроид работает лучше и проще, нужен только root.

pmOS с огромным отрывом выигрывает по расходу ресурсов, что не менее важно

Только в безголовом режиме. Или на устройстве, изначально шедшим с pmos.

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

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

Только в безголовом режиме

Для себя я только такой и рассматриваю, подключение по ssh, можно собрать кастомный дашборд со статами железа, если понадобится

При желании андроид тоже можно нехило почикать

Можно, но нет желания заниматься: вырезать гугл сервисы, каким-то образом отключать systemui и другие вещи, слишком много доп работы

И при этом железо работает по-умолчанию, а не в виде исключения

Не такая большая проблема в целом, можно использовать https://github.com/libhybris/libhybris и оставаться в рамках android блобов и ядра

А вариант сборки телеграмм бота как обычное приложения Андройд не рассматривали? Termux мне тоже не зашёл, но с pmOS тоже очень много нюансов

А вариант сборки телеграмм бота как обычное приложения Андройд не рассматривали?

Не представляю, как полноценный сервис, который нужно хостить, упаковать в android приложение, чтобы оно нормально работало

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

А что не так с termux?

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

У меня не было цели прям что-то запустить, я экспериментировал в образовательных целях и ничего с ходу не заработало из того что мне было интересно.

Можно и с винды пересесть на линь, и ругать его, что пути другие и команды отличаются :)

Просто termux и терминал на компе – разные вещи, termux – linux-подобная среда пакетов, которая крутится на рантайме андроида и не изолируется от него. Этим различия и обусловлены.

И рут там не по-умолчанию, из коробки даже не установлены пакеты, работающие с su

Я сначала тоже попроще выриант с Termux пробовал, но без рута ничего там продвинутого запустить не получилось. Докер, фаервол и прочее не работали, упирались в защиту Андроида. С рутом уже не стал экспериментировать. Затем Droidian поставил и тоже упёрся в какие то лимиты. Далее - PMOS. Он уже заработал как натуральный Линукс сервер, правда не вся аппаратура. Но пока мне достаточно.

У меня аналогично с Termux ничего не завелось нормально…

Интересно, ставил ли кто-нибудь postmarketOS на старичка Xiaomi Redmi Note 3 Pro (Kenzo).

Загрузчик у меня уже разблокирован.

Зато был старый OnePlus 3T в ящике: флагман 2016 года, Snapdragon 821, 6 ГБ оперативной памяти — рабочий, но не включавшийся годами.

Спасибо за статью. Есть парочку старых телефонов. Но я ставил на них серверные сборки mysql php прям на Android

Тоже этим страдал. Собрал себе из нескольких rn4x и mi9t - k3s кластер. Парочке даже успел перепаять питание и пустить их работать от 19В БП отнятого у сименсовского ПЛК. Работало более-менее вменяемо, какое-то время. Но pmos это проект с кучей подводных камней у каждого девайса. Да еще и musl иногда портит малину. Надоело с этим мучаться: плюнул, взял х86 неттопы. И в доме воцарилось счастие неземное.

Sign up to leave a comment.

Articles