Нужно запустить полноценный линукс на телефоне.
Различные варианты 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
Enter your comment. Wiki syntax is allowed:
 
  • android/run_linux_in_termux_qemu_aarch64_emulation.txt
  • Last modified: 2025/06/24 21:56
  • by admin