【微知】如何使用qemu启动arm版本的Anolis操作系统?(-cpu cortex-a72-drive; file=./xx.qcow2; -bios ./QEMU_EFI.fd)

快速回忆

# 启动命令
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多个版本原因等)一度放弃最后还是解决。折腾不止。

使用QEMU模拟ARM架构的系统时,输入以下命令: ```bash qemu-system-aarch64 -machine virt -cpu cortex-a53 -bios /home/john/arm/cldk-v20.07.01/output/u-boot/e530_24x2c.bin -nographic ``` 可能会出现系统卡死的情况。以下是一些可能的原因和解决方法: 1. **BIOS文件问题**: - **文件路径错误**:确保`/home/john/arm/cldk-v20.07.01/output/u-boot/e530_24x2c.bin`文件路径正确,并且文件存在。 - **文件损坏**:检查BIOS文件是否损坏,尝试重新编译或下载正确的BIOS文件。 2. **QEMU版本问题**: - **版本不兼容**:确保你使用QEMU版本支持`virt`机器和`cortex-a53` CPU。可以通过运行`qemu-system-aarch64 --version`来检查QEMU版本。 3. **参数设置问题**: - **机器类型**:确保`-machine virt`参数正确。可以尝试使用其他机器类型,如`raspi3`。 - **CPU类型**:确保`-cpu cortex-a53`参数正确。可以尝试使用其他CPU类型。 4. **缺少设备或驱动**: - **缺少必要设备**:检查是否需要添加其他设备参数,如`-serial mon:stdio`。 - **驱动问题**:确保所有必要的驱动都已正确加载。 5. **系统资源不足**: - **内存不足**:确保系统有足够的内存来运行QEMU虚拟机。 - **CPU资源不足**:确保系统有足够的CPU资源。 6. **调试信息**: - **增加调试信息**:使用`-d`参数增加调试信息,帮助诊断问题。例如,`-d in_asm,out_asm`。 7. **日志文件**: - **查看日志文件**:检查QEMU的日志文件,寻找可能的错误信息。 如果以上方法都无法解决问题,建议在相关社区或论坛上寻求帮助,提供详细的错误信息和系统配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值