我也试试qemu虚拟化

本文用于记录使用qemu虚拟化aarch64架构的虚拟机。

https://qemu.weilnetz.de/w64/  下载最新版的qemu for windows软件并安装,我这里c盘快满了,安装到d:\qemu目录里面

安装完成以后需要手动将d:\qemu加到PATH路径里面去,因为后续我们需要通过命令行去使用qemu的可执行文件。

   现在高版本的qemu自带用于arm引导的uefi(bios) 文件,安装完就有,挺方便的。

   下面通过命令行创建虚拟机硬盘

qemu-img.exe create -f qcow2 f:\vm\arm64\disk\phytium-arm64.qcow2 80G

  创建过程非常快,实际没有立即分配80G空间,只是创建了一个不到200k的文件

     还需要手动下载一下下面的文件并把这个文件放到f:\vm\arm64目录里面去

http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd

下面创建虚拟机

@echo off
REM 启动 ARM64 虚拟机安装程序
REM -M virt 表示使用 QEMU 通用 ARM 虚拟主板
REM -cpu cortex-a72 表示模拟 ARMv8 CPU,接近通用 64 位 ARM 服务器环境
REM -smp 4 表示 4 个虚拟 CPU
REM -m 8192 表示 8GB 内存
REM -bios 指定 ARM UEFI 固件
REM -drive if=virtio 使用 virtio 磁盘,提高兼容性和性能
REM -cdrom 挂载 ARM64 Linux 安装镜像
REM -netdev user 使用用户态网络,最容易上手
REM hostfwd 将宿主机 2222 端口转发到虚拟机 22 端口,后面可直接 SSH

qemu-system-aarch64.exe ^
  -M virt,accel=tcg ^
  -cpu cortex-a72 ^
  -smp 4 ^
  -m 4096 ^
  -bios f:\vm\arm64\QEMU_EFI.fd ^
  -display gtk ^
  -device qemu-xhci ^
  -device usb-kbd ^
  -device usb-mouse ^
  -device virtio-gpu-pci ^
  -drive if=none,file=f:\vm\arm64\disk\phytium-arm64.qcow2,format=qcow2,id=hd0 ^
  -device virtio-blk-pci,drive=hd0 ^
  -drive if=none,file=f:\iso\Kylin-Desktop-V10-Release-Build1-20200710-arm64.iso,media=cdrom,id=cdrom ^
  -device virtio-scsi-pci ^
  -device scsi-cd,drive=cdrom ^
  -device virtio-net-pci,netdev=net0 ^
  -netdev user,id=net0,hostfwd=tcp::2222-:22

    然后更启动的时候会提示:display output is not active ,耐心等就行,特别特别慢,比vmware虚拟x64的机器要慢特别多,慢到你以为系统启动失败了。

   然后如果你需要释放鼠标的话是ctrl+alt+G 

   在耗时1个小时以后系统安装完成,修改启动命令,去掉iso文件,创建f:\vm\arm64\start_kylin_arm64.bat

@echo off
REM 启动已安装完成的 ARM64 麒麟系统
REM 说明:
REM 1. 不再挂载 ISO,直接从虚拟硬盘启动
REM 2. 保留 GTK 图形界面
REM 3. 保留 SSH 端口转发:宿主机 2222 -> 虚拟机 22

qemu-system-aarch64.exe ^
  -M virt,accel=tcg ^
  -cpu cortex-a72 ^
  -smp 4 ^
  -m 4096 ^
  -bios f:\vm\arm64\QEMU_EFI.fd ^
  -display gtk ^
  -device qemu-xhci ^
  -device usb-kbd ^
  -device usb-mouse ^
  -device virtio-gpu-pci ^
  -drive if=none,file=f:\vm\arm64\disk\phytium-arm64.qcow2,format=qcow2,id=hd0 ^
  -device virtio-blk-pci,drive=hd0 ^
  -device virtio-net-pci,netdev=net0 ^
  -netdev user,id=net0,hostfwd=tcp::2222-:22

pause

  启动的时候还是提示Display output is not active,等着就行了。

然后有个小坑,我这里安装的是银河麒麟系统,选择分区的时候创建了数据分区,结果默认的情况下系统挂载的/data不让执行程序,需要解决一下执行程序报错没有权限问题,在/etc/fstab里面默认对/data分区的挂载配置是:

UUID=2972908b-e84e-43b7-9587-65131e1bf899 /data           ext4    rw,user,x-gvfs-show,nosuid,nofail 0       2

  问题就出在这个user上面,写了user就默认隐含带着noexec,不让你执行可执行程序,需要改成下面这样才行:

UUID=2972908b-e84e-43b7-9587-65131e1bf899 /data ext4 rw,exec,nosuid,nofail 0 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

peihexian

你的鼓励是我创作的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值