1. 安装qemu
apt install qemu-utils qemu-common qemu-system-x86_64-headless
2. 下载 Alpine Linux 3.12(virt 优化)ISO镜像文件
mkdir alpine && cd $_
wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso
3. 创建磁盘空间
qemu-img create -f qcow2 alpine.img 5G
4. 启动镜像文件
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。
5. 设置网络,一路选默认:
setup-interfaces
ifup eth0
设置好之后可以自己ping一下,是否设置正确
6. 让开机时能输出信息
sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk
7.配置安装文件:
vi answerfile
输入i,进入编辑,添加以下内容,按esc退出编辑,输入:wq保存退出
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"
8.安装系统至硬盘,建立 root 帐号的密码。
setup-alpine -f answerfile
9. 安装完之后,关机:
poweroff
10. 下一次启动:
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
m是分配2GB内存,cpu是2核CPU
hostfwd则是把外部8081通讯端口转发到虚拟机的80通讯端口。
各种qemu参数可以参考:qemu-system-x86_64命令总结
11. 安装 docker,并设定开机自动启动服务。
apk update && apk add docker
service docker start
rc-update add docker
参考资料
https://zsxwz.com/2022/03/05/termux%e5%85%8droot%e5%ae%89%e8%a3%85docker/