ALT Mobile: различия между версиями
Bircoph (обсуждение | вклад) |
|||
Строка 2: | Строка 2: | ||
= Поддерживаемое оборудование = | = Поддерживаемое оборудование = | ||
== | == Rockchip == | ||
Поддерживается оборудование на базе чипов Rockchip aarch64, для которых есть devicetree и драйвера для периферии. В частности: | |||
=== rk3399s === | |||
Телефон Pinephone Pro и совместимая модель от F+ tech. | |||
=== rk3566 === | |||
Планшет Pinetab2. | |||
== Скиф == | == Скиф == |
Версия от 17:23, 22 января 2024
В рамках проекта ALT Mobile проводится работа по поддержке мобильных устройств на базе проекта Sisyphus.
Поддерживаемое оборудование
Rockchip
Поддерживается оборудование на базе чипов Rockchip aarch64, для которых есть devicetree и драйвера для периферии. В частности:
rk3399s
Телефон Pinephone Pro и совместимая модель от F+ tech.
rk3566
Планшет Pinetab2.
Скиф
Специалистами Элвис обеспечена работа на системе на кристалле Скиф. Поддержка реализована в качестве производной ALT Mobile, использует ядро, отсутствующее в Сизифе.
Дисковые образы
Есть сборки образов для архитектур x86_64, aarch64, riscv. Их можно как запускать на оборудовании, поддерживаемом ядром un-def, так и с помощью QEMU.
Они вполне достаточны для работ над мобильным интерфейсом, адаптацией приложений. При подключении внешнего модема, поддерживаемого 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 ("магазин" приложений из Сизифа).
Статус ПО
Доступно всё программное обеспечение из репозитория Сизиф. Детальная информация на отдельной странице.
TODO
Перечень открытых задач достаточно большой, поэтому его можно найти на отдельной странице.
Известные проблемы
Полностью разряженная батарея
При полностью разряженной батарее телефон может не загрузиться даже при подключении к сети. Эта проблема решена с свежих версиях tow-boot, необходимо обновиться. Если нет батарея уже полностью разряжена и нет возможности обновить tow-boot, нужно зарядить её на внешнем устройстве, можно подать питание 5V ненадолго.
Система перестала загружаться в ходе обновления
Обновляться следует рекомендуемыми способами. Если система уже сломана, следует записать новый образ, перед этим необходимо сохранить все важные пользовательские данные (в первую очередь ~/.local и ~./config).
Галерея
Для увеличения изображения, кликните на превью.
Контакты
Список почтовой рассылки mobile-devel.
Телеграм канал ALT Mobile.
О проблемах в конкретных пакетах можно открывать баги в багзилле.