用QEMU虚拟国产飞腾+麒麟环境

1 简述

由于调试、测试需要飞腾主机及麒麟的环境,但是飞腾主机资源有限,于是便尝试了下在Qemu下虚拟出来一个ARM主机用来作为测试环境。本文介绍如何在Qemu虚拟的ARM环境下安装麒麟操作系统。

2 安装过程

2.1 准备

本次安装需要准备文件及工具如下:

  • qemu:使用qemu-system-aarch64虚拟机环境

  • rootfs.qcow2:虚拟磁盘镜像文件,可使用qemu-img创建(2.2)

  • system.iso:操作系统镜像,请自行准备。

2.2 创建虚拟景象

使用qemu-img命令创建虚拟镜像:

qemu-img create -f qcow2 rootfs.qcow2 50G

2.3 安装

安装使用脚本如下:

qemu-system-aarch64 \
 -m 4096 \
 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 \
 -M virt \
 -bios QEMU_EFI.fd \
 -net nic,model=pcnet \
 -device nec-usb-xhci \
 -device usb-kbd \
 -device usb-mouse \
 -device VGA \
 -drive if=none,file=./kylin.iso,id=cdrom,media=cdrom \
 -device virtio-scsi-device \
 -device scsi-cd,drive=cdrom \
 -drive if=none,file=armrootfs.qcow2,id=hd0 \
 -device virtio-blk-device,drive=hd0

其中-bios指定UEFI固件文件,-drive指定安装镜像和系统盘。QEMU_UEFI.fd,armrootfs.qcow2,Kylin-Desktop-V10-Release-Build1-20200710-arm64.iso三个镜像文件的位置必须在当前目录下,不然就需要指定其绝对路径。

安装过程在图形界面下正常安装,安装过程时间较长。

安装1

安装2

2.4 启动

使用上面的脚本,删除cdrom,就可以作为启动脚本,启动脚本如下:

qemu-system-aarch64 \
 -m 4096 \
 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 \
 -M virt \
 -bios QEMU_EFI.fd \
 -device nec-usb-xhci \
 -device usb-kbd \
 -device usb-mouse \
 -device VGA \
 -device virtio-scsi-device \
 -drive if=none,file=armrootfs.qcow2,id=hd0 \
 -device virtio-blk-device,drive=hd0

启动1

启动2

3 TODO

  1. 启动过程较慢,后续研究下X86的arm指令加速。

  1. 虽然安装成功了,但是运行还是特别慢,而且可能还会有一些bug,但是可以满足一些基本需求,后续可以研究优化。

好的,以下是帮助你搭建QEMU OpenWrt + Cortex-A7 + Visual Studio虚拟开发和debug环境的步骤: 1. 安装QEMU 首先,你需要安装QEMU模拟器。你可以从官网下载QEMU的最新版本:https://www.qemu.org/download/ 。 2. 下载OpenWrt 接下来,你需要下载OpenWrt的镜像文件。你可以从OpenWrt的官网下载:https://openwrt.org/downloads 。 3. 安装交叉编译工具链 你需要安装针对Cortex-A7处理器的交叉编译工具链。你可以从ARM的官网下载:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads 。 安装完工具链后,将其添加到系统的PATH环境变量中。 4. 启动OpenWrt 使用QEMU启动OpenWrt。命令如下: ``` qemu-system-arm -M vexpress-a9 -m 256M -kernel openwrt-armvirt-32-zImage -append "root=/dev/vda rootfstype=ext4 rootwait console=ttyAMA0" -drive file=openwrt-armvirt-32-root.ext4,if=none,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=network0 -device virtio-net-device,netdev=network0 ``` 5. 连接到OpenWrt 使用SSH连接到OpenWrt。命令如下: ``` ssh -t root@localhost -p 2222 ``` 6. 安装Visual Studio 安装Windows版的Visual Studio。你可以从Microsoft的官网下载:https://visualstudio.microsoft.com/downloads/ 。 7. 配置Visual Studio 在Visual Studio中,选择“工具”>“选项”>“调试”>“远程调试”,然后添加一个新的远程调试器。 设置目标为OpenWrt的IP地址和端口号(默认为2222)。选择“使用SSH连接”选项,并输入用户名和密码。 8. 开始调试 现在你已经准备好在Visual Studio中进行调试了。首先,设置断点或者在代码中插入调试语句。然后,使用Visual Studio启动远程调试器,并连接到OpenWrt。 现在你可以在Visual Studio中进行调试了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马师傅哈哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值