快速回忆
# 启动命令
qemu-system-aarch64 -chardev stdio,id=char0,signal=off -serial chardev:char0 -cpu cortex-a72 -machine virt-9.2 -smp 1 -m 1G -drive file=./AnolisOS-8.6-aarch64-ANCK.qcow2,if=virtio -bios ./QEMU_EFI.fd
# AnolisOS-8.6-aarch64-ANCK.qcow2的默认账户和密码
账户:anuser
密码:anolisos
背景
身边如果没有ARM相关实际的硬件,但是希望跑操作系统,可以用qemu来操作。
详细步骤
下载OS
下载操作系统的qcow2的格式,qcow2已经安装好了系统,能够直接使用;也可以iso但是比较麻烦,还得安装。
https://mirrors.aliyun.com/anolis/8.6/isos/QU1/
找到镜像目录,并且用aarch64进行安装。如果不是aarch64,x86也可以,只是用qemu x86的
也可以直接Anolis的官网这里下载:
http://mirrors.openanolis.cn/anolis/8.6/isos/QU1/aarch64/
下载BIOS
如果是x86的不用该部分
https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/
下载这个QEMU_EFI.fd,如果没有它,会造成系统起不来。详细参考兄弟篇:qemu-system-aarch64启动qcow2格式的系统卡在qemu_monitor解决办法
如果在MAC上,需要先安装qemu
brew install qemu
详细参考兄弟篇:MAC上brew install安装命令报错Error: homebrew-core is a shallow clone如何解决?MAC上如何安装qemu?
参考:
https://www.yuque.com/anolis-docs/manual/release-notes-8.6-qu1
命令行启动qemu
qemu-system-aarch64 -serial stdio -cpu cortex-a72 -machine virt-9.2 -smp 8 -m 2G -drive file=./AnolisOS-8.6-aarch64-ANCK.qcow2,if=virtio -bios ./QEMU_EFI.fd
这里指定bios和qcow2的磁盘,并且用cortex-a72的cpu和虚拟的机器 指定8个核,2G内存,bios文件使用uefi,指定串口是stdio
启动效果:
登录账户
AnolisOS-8.6-aarch64-ANCK.qcow2的默认账户和密码是
账户:anuser
密码:anolisos
实操:(成功登陆到系统中)
成功切换到root权限:
能够直接ping通百度:
其他
解决关闭signal kill的启动命令:参考兄弟篇qemu如何配置ctrl+c不退出qemu系统?
并且调整小了smp和memory。
qemu-system-aarch64 -chardev stdio,id=char0,signal=off -serial chardev:char0 -cpu cortex-a72 -machine virt-9.2 -smp 1 -m 1G -drive file=./AnolisOS-8.6-aarch64-ANCK.qcow2,if=virtio -bios ./QEMU_EFI.fd
综述
本文简要记录用qemu启动arm平台的anolis的全流程。中途遇到多个问题(包括qemu重新编译、更换编译机、更换系统、更换版本、寻找qemu多个版本原因等)一度放弃最后还是解决。折腾不止。