ALT Mobile
В рамках проекта ALT Mobile проводится работа по поддержке мобильных устройств на базе проекта Sisyphus.
Поддерживаемое оборудование
rk3399s
Поддерживаются устройства на базе rk3399s, в частности Pinephone Pro и совместимая модель от F+ tech.
Скиф
Специалистами Элвис обеспечана работа на системе на кристалле Скиф. Поддержка реализована в качестве производной ALT Mobile, использует ядро, отсутствующее в Сизифе.
QEMU
Есть сборки образов виртуалок для архитектур x86_64, aarch64, riscv.
Они вполне достаточны для работ над мобильным интерфейсом, адаптацией приложений. При подключении внешнего модема, поддерживаемого ModemManager (в идеале Quectel EG25-G) возможна и работа с мобильными сетями и сопутствующей телефонией).
Образы
Образы для aarch64 оборудования и qemu для поддерживаемых архитектур доступны на ftp.
Инструмент сборки образов (mkimage-profiles) доступен в git.
Сборка
Для самостоятельной сборки образов следует склонировать вышеуказанный git и перейти в ветку next
.
Затем следует на целевой архитектуре собрать соответствующую цель сборки. Например, для сборки образа для pinephone pro нужно на aarch64 хосте выполнить:
make vm/pinephone-phosh.img ARCH=aarch64 DEBUG=1
Кросс-компиляция образов не поддерживается.
Для изменения состава пакетов см. pkg.in/lists/mobile
. Параметры и сценарий сборки настраиваются в conf.d/phone.mk
. Детальная информация по работе с инструментом сборки содержится в документации mkimage-profiles.
Установка
На железо
1. На телефоне должен быть установлен загрузчик tow-boot на SPI flash. На большинстве моделей tow-boot штатно установлен на SPI; если это не так, то установите его по следующей инструкции: https://tow-boot.org/devices/pine64-pinephonePro.html
2. Образ можно установить и на emmc, и на microsd. Как таковая "прошивка" не требуется, достаточно скопировать распакованный образ на носитель.
Для загрузки телефона в режиме экспорта emmc как usb-диска, нужно при загрузке зажать кнопку Volume Up до загорания синего индикатора LED. После этого emmc будет доступно как /dev/sdX. Аналогично можно подключить и microsd через любое устройство чтения таких носителей.
3. Копирование на носитель:
xzcat pinephone-phosh-latest-aarch64.img.xz | dd of=/dev/sdX oflag=direct,sync iflag=fullblock bs=1M status=progress
4. Изменение раздела файловой системы
Рекомендуется (но не обязательно) расширить файловую систему образа на весь носитель. Сделать это можно следующими командами:
echo ", +" | sfdisk -N 1 /dev/sdX resize2fs -p /dev/sdX1
где sdX — устройство, куда был записан образ.
5. Загрузка.
Для загрузки с emmc достаточно включить телефон, для загрузки с microsd нужно при загрузке зажать кнопку Volume Down до смены цвета индикатора LED на бирюзовый.
В виртуальной машине
Преамбула
В этом разделе будет описано, как попробовать ALT Mobile в виртуальной машине. Разумеется, возможности работать с телефонией, камерой и прочими аппаратными устройствами при этом не будет, но такую среду можно использовать для адаптации приложений под мобильный интерфейс.
Получение образа диска
Качаем отсюда:
http://beta.altlinux.org/mobile/latest/
образ вида
phosh-20231004-x86_64.img.xz
Распаковываем образ диска, куда-нибудь, например в /home/petr/images/phosh-20231004-x86_64.img
Qemu
С ускорением
Установка Qemu-KVM
# apt-get install /usr/bin/qemu-kvm
Запуск системы
От обычного пользователя, не от рута, в консоли должен быть $, а не #, запускаем следующую команду:
$ kvm -m 4G -k en-gb -hda /home/petr/images/phosh-20231004-x86_64.img
Здесь:
- kvm - указывает, что запускаем при помощи qemu-kvm
- -m 4G - для машины будет выделено 4 ГБ ОЗУ
- -k en-gb - будет использоваться английская раскладка
- -hda /home/petr/images/phosh-20231004-x86_64.img - путь к нашему образу
Вы можете подправить данные параметры под свои.
Инструкции по запуску в qemu образов для aarch64 и riscv64:
https://www.altlinux.org/Ports/aarch64/QEMU
https://www.altlinux.org/Ports/riscv64/QEMU
Запуск GUI
Устанавливаем viewer:
# apt-get install /usr/bin/remote-viewer
Открываем адрес:
$ remote-viewer vnc://localhost:5900
Без ускорения
Установка Qemu
Ставим Qemu и интерфейс на SDL. Если его не поставить, а у вас установлен lbvirt, Qemu вместо GUI будет стучаться на 127.0.0.1:5900.
# apt-get install qemu-system-x86 qemu-ui-sdl
Запуск системы
От обычного пользователя, не от рута, в консоли должен быть $, а не #, запускаем следующую команду:
$ qemu-system-x86_64 -m 4G -k en-gb -hda /home/petr/images/phosh-20231004-x86_64.img -smp cpus=4 -net user
Здесь:
- qemu-system-x86_64 - указывает, что мы эмулируем x86_64 компьютер
- -m 4G - для машины будет выделено 4ГБ ОЗУ
- -k en-gb - будет использоваться английская раскладка
- -hda /home/petr/images/phosh-20231004-x86_64.img - путь к нашему образу
- -smp cpus=4 - будет использовано 4 ядра процессора
- -net user - будет использована сеть компьютера
Вы можете подправить данные параметры под свои.
Результат
Управлять можно мышкой, симулируя ввод пальцами или вводить символы с физической клавиатуры.
Использование
На данный момент использование предназначено только в целях разработки, повседневное применение как основного смартфона пока что не рекомендуется.
Логины по-умолчанию: root, pwd:altlinux; user:altlinux, pwd:271828.
Обновление
Обновлять следует методом, который гарантирует работоспособность среды обновления в процессе обновления. Например, если запустить обновление в GUI консоли phosh и в процессе обновления будет перезагружен phosh, обновление прервётся и система может оказаться неработоспособной.
Поддерживаемые способы:
screen
Стандартный apt-get update && apt-get dist-upgrade -a
рекомендуется выполнять в менеджерах терминалов screen или tmux, гарантирующих продолжение работы при прерывании родительских процессов. Рекомендуется использовать ssh или последовательный порт для контроля над процессом.
В таком сценарии пользователь сам должен перезагрузить устройство по необходимости (например, при обновлении ядра).
packagekit
Packagekit работает путём скачивания обновлений, перезагрузки и установки всех пакетов в контроллируемом окружении и последующей перезагрузки для полноценной работы. Интерфейсом для работы с packagekit является Gnome Software ("магазин" приложений из Сизифа).
Статус ПО
На данный момент программное обеспечение находится в состоянии Альфа-версии и предназначено для разработки и тестирования опытными пользователями. В проекте используется свободное ПО, в т.ч. наработки проектов PureOS, Mobian, PostmarketOS.
Пользовательский интерфейс
Поддерживается пользовательское окружение на базе phosh (phone shell). Ведутся работы по поддержки SWMO.
Пользовательские приложения
Звонки
Gnome calls
SMS/MMS
Chatty
Контакты
Gnome contacts
Браузеры
Firefox, chromium.
Telegram
Доступен telegram-desktop. Для того, чтоб в вертикальной ориентации приложение помещалось в экран, рекомендуется запускать с -scale 80% (можно и 85%).
Карты
gnome-maps
Фото/камера
megapixels, cheese — есть поддержка камер смартфона.
Gnome camera, snapshot — есть проблемы работы с камерой.
Видео
mpv, totem — неполная адаптация под мобильный интерфейс
clapper — хорошо адаптирован под мобильный интерфейс
Музыка
amberol — простой музыкальный проигрыватель
lollypop — проигрыватель и средство управления альбомами
shortwave — интернет радио
Чтение
evince — PDF
foliate — электронные книги (epub, fb2,…)
Терминал
gnome-console, gnome-terminal, xterm
Подручные инструменты
gnome-clocks — часы
gnome-calendar — календарь
gnome-calculator — калькулятор
gnome-weather — погодный виджет
Инструменты тонкой настройки
gnome-control-center, phosh-mobile-settings, alt-tweaks.
TODO
Перечень открытых задач достаточно большой, поэтому его можно найти на отдельной странице.
Известные проблемы
Полностью разряженная батарея
При полностью разряженной батарее телефон может не загрузиться даже при подключении к сети. Эта проблема решена с свежих версиях tow-boot, необходимо обновиться. Если батарея уже полностью разряжена, нужно зарядить её на внешнем устройстве, можно подать питание 5V ненадолго.
Система перестала загружаться в ходе обновления
Обновляться следует рекомендуемыми способами. Если система уже сломана, следует записать новый образ, перед этим необходимо сохранить все важные пользовательские данные (в первую очередь ~/.local и ~./config).
Галерея
Для увеличения изображения, кликните на превью.
Контакты
Список почтовой рассылки mobile-devel.
О проблемах в конкретных пакетах можно открывать баги в багзилле.