Документация
В рамках проекта ALT Mobile проводится работа по поддержке мобильных устройств на базе проекта Sisyphus.
Целеполагание
Базовая система на СПО
Фундаментальной целью проекта является построение операционной системы мобильного устройства (телефон, планшет) целиком и полностью на свободном ПО. Мы считаем, что это единственный способ, при котором пользователь может получить полноценный контроль над своим устройством, а не наоборот; это работающий способ контроля над своими данными и путь к цифровому суверенитету.
В нашей системе загрузчик, ядро, базовые компоненты операционной системы (пользовательская оболочка, ядро, браузер, основные пользовательские приложения) являются СПО — таким образом, устройством можно пользоваться из коробки без проприетарного ПО на основном системном процессоре.
Исключение делается только для низкоуровневых компонент, работающих на обособленных чипах: например, прошивки wifi, bluetooth и прочих периферийных устройств. Но и здесь мы отдаём предпочтение свободным прошивкам при их наличии, например, pinephone_modem_sdk
для модемов EG25-G.
А как же проприетарное ПО?
Его вполне можно использовать при желании и наличии совместимости, но его использование не должно быть обязательным для нормального функционирования устройства. Безусловно, это может негативно сказаться на безопасности и приватности.
Полноценный Linux на телефоне
Наша цель — предоставить на мобильном устройстве полноценный Линукс, точно тот же Альт, что есть и на других устройствах, но с оболочкой и приложениями, поддерживающими мобильный интерфейс. Это не какая-то отдельная операционная система, не клон Android, а самый обычный Альт Линукс.
Поддерживаемое оборудование
Построение базовой системы на СПО позволяет легко добавить поддержку нового оборудования при условии наличия devicetree
и исходников драйверов устройств.
На текущий момент поддерживается ниже перечисленное оборудование:
Rockchip
Поддерживается оборудование на базе СнК Rockchip aarch64, для которых есть devicetree
и драйвера для периферии. В частности:
rk3399
Игровая приставка Anbernic RG552
rk3399s
Телефон PinePhone Pro
rk3566
Планшет PineTab2, игровые приставки ANBERNIC RG ARC-D/RG ARC-S, Anbernic RG353M, P, V
Скиф
Специалистами Элвис обеспечена работа на системе на кристалле Скиф. Поддержка реализована в качестве производной ALT Mobile, использует ядро, отсутствующее в Сизифе.
x86_64
Планшеты RCA Cambio w101v2 и Lenovo MIIX 320-10ICR
Дисковые образы
Есть сборки образов для архитектур x86_64
, aarch64
, riscv
. Их можно как запускать на оборудовании, поддерживаемом ядром un-def
, так и с помощью QEMU.
Они вполне достаточны для работ над мобильным интерфейсом, адаптацией приложений. При подключении внешнего модема, поддерживаемого ModemManager (в идеале Quectel EG25-G) возможна и работа с мобильными сетями и сопутствующей телефонией).
Образы
Образы для aarch64 оборудования и qemu для поддерживаемых архитектур доступны на ftp для sisyphus и p11.
Инструмент сборки образов mkimage-profiles
доступен в git.
Сборка
Для самостоятельной сборки образов следует клонировать вышеуказанный git
и перейти в ветку next
.
Затем следует на целевой архитектуре собрать соответствующую цель сборки. Например, для сборки образа для PinePhone Pro нужно на aarch64 хосте выполнить:
make vm/pinephone-phosh.img ARCH=aarch64 DEBUG=1
NOTE
Кросс-компиляция образов не поддерживается.
Для изменения состава пакетов см. pkg.in/lists/mobile. Параметры и сценарий сборки настраиваются в conf.d/phone.mk. Детальная информация по работе с инструментом сборки содержится в документации mkimage-profiles
.
Установка
Подробнее про установку ALT Mobile на поддерживаемые устройства и виртуальные машины можно прочитать в статье ALT Mobile Wiki:
- Установка ALT Mobile на PinePhone / PinePhone Pro
- Установка ALT Mobile на портативные приставки Anbernic
- Установка ALT Mobile на планшеты-трансформеры
- ALT Mobile Виртуальная машина
Использование
На данный момент использование предназначено только в целях разработки, повседневное применение как основного смартфона пока что не рекомендуется.
Логины по умолчанию: root
(пароль: altlinux
), altlinux
(пароль: 271828
).
Обновление
Обновлять следует методом, который гарантирует работоспособность среды обновления в процессе обновления. Например, если запустить обновление в GUI консоли Phosh и в процессе обновления будет перезагружен Phosh, обновление прервётся и система может оказаться неработоспособной.
Поддерживаемые способы:
screen
Стандартный apt-get update && apt-get dist-upgrade -a
рекомендуется выполнять в менеджерах терминалов screen
или tmux
, гарантирующих продолжение работы при прерывании родительских процессов. Рекомендуется использовать ssh
или последовательный порт для контроля над процессом.
В таком сценарии пользователь сам должен перезагрузить устройство по необходимости (например, при обновлении ядра).
packagekit
PackageKit работает путём скачивания обновлений, перезагрузки и установки всех пакетов в контролируемом окружении и последующей перезагрузки для полноценной работы. Интерфейсом для работы с packagekit
является Gnome Software ("магазин" приложений из Сизифа).
Статус ПО
Доступно всё программное обеспечение из репозитория Сизиф. Детальная информация на отдельной странице.
TODO
Перечень открытых задач достаточно большой, поэтому его можно найти на отдельной странице.
Известные проблемы
Полностью разряженная батарея
При полностью разряженной батарее телефон может не загрузиться даже при подключении к сети. Эта проблема решена с свежих версиях tow-boot
, необходимо обновиться. Если нет батарея уже полностью разряжена и нет возможности обновить tow-boot
, нужно зарядить её на внешнем устройстве, можно подать питание 5V
ненадолго.
Система перестала загружаться в ходе обновления
Обновляться следует рекомендуемыми способами. Если система уже сломана, следует записать новый образ, перед этим необходимо сохранить все важные пользовательские данные (в первую очередь ~/.local
и ~./config
)