From fd1a5fcd7dd847f569df78478bb8679d7e17eef1 Mon Sep 17 00:00:00 2001 From: SashegDev Date: Mon, 7 Sep 2026 08:00:27 +0000 Subject: [PATCH] termux: Poco M7 nonroot guide + launch-termux.sh TCG/VNC --- docs/termux.md | 26 ++++++++++++++++++++++++++ qemu/launch-termux.sh | 24 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 docs/termux.md create mode 100755 qemu/launch-termux.sh diff --git a/docs/termux.md b/docs/termux.md new file mode 100644 index 0000000..6b03b13 --- /dev/null +++ b/docs/termux.md @@ -0,0 +1,26 @@ +# Termux (Poco M7 4G, nonroot) + +Телефон: SD685 (4xA73 2.8 + 4xA53 1.9), 6/8GB RAM, 128/256GB UFS2.2 + microSD, Android 15. +Без рута: только TCG (`-accel tcg,thread=multi`), KVM нет (`/dev/kvm` только под root/pKVM Pixel). +Скорость ~1/5 native: консоль норм, GUI через VNC — слайдшоу. + +## Установка +```bash +pkg update && pkg install -y qemu-system-arm qemu-utils python3 dtc openssh +git clone ~/lumia-emu +``` + +## Запуск WIP +```bash +./tools/check-env.sh +./images/build-emmc.sh images/emmc.img # sparse, место почти не жрет +python3 qemu/pbl_stub.py +./qemu/launch-termux.sh --dry-run +``` + +## Ограничения nonroot +- RAM гостю не больше 1G (`-m 1024`, как у Lumia), иначе Android убьет Termux. +- Дисплей только `-nographic` + `-vnc :0` (смотреть через AVNC), GTK нет. +- USB нет: thor2/WDRT через USB невозможны, только файлы. +- emmc.img лучше на внутренней памяти, не на microSD (медленно). +- Полный MainOS загрузится, но медленно — для отладки PBL/eMMC/XML годится. diff --git a/qemu/launch-termux.sh b/qemu/launch-termux.sh new file mode 100755 index 0000000..23fb41d --- /dev/null +++ b/qemu/launch-termux.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Запуск lumia-emu в Termux nonroot (Poco M7). Только TCG, без KVM/USB/GTK. +set -e +IMG=${IMG:-images/emmc.img} +if [ "$1" == "--help" ] || [ "$1" == "-h" ] || [ $# -eq 0 ]; then + cat <<'EOF' +usage: ./qemu/launch-termux.sh [--dry-run|--check|--run] + --dry-run показать команду (по умолчанию) + --check проверить пакеты termux + --run запустить (nographic + VNC :0, смотреть через AVNC) +Пример: IMG=images/emmc.img ./qemu/launch-termux.sh --run +EOF + exit 0 +fi +if [ "$1" == "--check" ]; then + for t in qemu-system-arm qemu-img python3; do + command -v $t >/dev/null && echo "OK $t" || echo "MISS $t (pkg install $t)" + done + ls -lh "$IMG" 2>/dev/null || echo "нет $IMG — сначала ./images/build-emmc.sh" + exit 0 +fi +CMD="qemu-system-arm -M virt -cpu cortex-a7 -m 1024 -accel tcg,thread=multi -drive file=$IMG,if=none,format=raw,id=emmc -device sdhci-pci -device sd-card,drive=emmc -serial stdio -nographic -vnc :0" +echo "[termux] $CMD" +if [ "$1" == "--run" ]; then exec $CMD; fi