-
安装 termux
下载地址如下,下载arm64的那个,然后直接安装
https://github.com/termux/termux-app/releases
-
打开termux,安装 wget 和 vim
pkg install wget pkg install vim
-
查询手机ID(手机不方便输入,我这里使用了oppo 的跨屏互联)
-
安装qemu
apt install qemu-utils qemu-common qemu-system-x86_64-headless
-
下载Alpine linux系统
mkdir alpine && cd $_
wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso
-
创建虚拟硬盘
qemu-img create -f qcow2 alpine.img 5G
-
在QEMU里面启动安装alpine的引导程序
qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \ -cdrom alpine-virt-3.12.3-x86_64.iso \ -nographic alpine.img
然后使用root用户登录
-
网卡设置
setup-interfaces #然后又更具配置配置网卡 ifup eth0
-
让开机时能输出信息
sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk
-
创建安装文件
vi answerfile
KEYMAPOPTS="us us"
HOSTNAMEOPTS="-n alpine"
INTERFACESOPTS="auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname alpine
"
TIMEZONEOPTS="-z UTC"
PROXYOPTS="none"
APKREPOSOPTS="http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community"
SSHDOPTS="-c openssh"
NTPOPTS="-c busybox"
DISKOPTS="-v -m sys -s 0 /dev/sda"
-
安装alpine
setup-alpine -f answerfile
-
安装完成之后关机
poweroff
-
创建启动脚本
touch run.sh chmod 775
vim run.sh,然后输入以下内容(这时候手机的8081被映射到虚拟机的80端口)
qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \ -drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \ -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \ -nographic alpine.img
-
从新启动qemu虚拟机里面的alpine
./run.sh
-
然后安装docker 和启动
#这个docker改了daemon.json的镜像地址以后依旧是连接的docker.io不知道为啥 apk update && apk add docker service docker start rc-update add docker
-
qemu指定的端口是手机的8081映射到虚拟机的80端口,我们在虚拟机里面安装个nginx在外面是可以直接访问的
#安装nginx apk add nginx
-
修改nginx的配置文件
默认配置文返回的都是404,修改以后可以在外面正常访问
修改以后启动
service nginx start
-
有IPV6可以通过DDNS 映射出去作为移动服务器了,可以跑个redis ,mysql 之类的之类的小东西。
-
不知道安卓上的qemu虚拟机性能损失多少,如果需要性能可以考虑root以后直接在手机上安装ubuntu之类的linux,以达到性能最低损失