Нужно запустить полноценный линукс на телефоне.
Различные варианты chroot не работают, поскольку нужен модуль ядра ppp, а его в ядре телефона нет.
Поэтому - устанавливаю Termux и далее заустанавливаю Ubuntu server в qemu.
в Termux выполняю:
pkg install openssh qemu-system-aarch64-headless qemu-utils passwd sshd
Дальше можно подключиться с обычного компа в сессию Termux
ssh -p 8022 root@192.168.77.100
и продолжить:
mkdir qemu cd qemu/ qemu-img create -f qcow2 boot.img 64G wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.11.0-arm64-netinst.iso
Для запуска нужен образ BIOS/UEFI. Чтобы его получить - на хосте с обычной Ubuntu выполняю:
sudo apt-get install qemu-efi-aarch64 truncate -s 64m varstore.img truncate -s 64m efi.img dd if=/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=efi.img conv=notrunc
Копируем образы на телефон:
scp -P 8022 ./varstore.img root@192.168.77.100:/data/data/com.termux/files/home/qemu/ scp -P 8022 ./efi.img root@192.168.77.100:/data/data/com.termux/files/home/qemu/
Ну и можно загружаться с iso:
qemu-system-aarch64 -M virt \ -cpu cortex-a72 \ -smp 4 -m 2048 \ -drive if=pflash,format=raw,file=efi.img,readonly=on \ -drive if=pflash,format=raw,file=varstore.img \ -drive if=virtio,format=qcow2,file=boot.img \ -device virtio-scsi-pci,id=scsi0 \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0 \ -device virtio-net-pci,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::8222-:22 \ -nographic \ -drive if=none,id=cd,file=debian-12.11.0-arm64-netinst.iso \ -device scsi-cd,drive=cd
Discussion