【QEMU】编译安装 qemu 8.0.4 及安装 Kylin V10 ARM64 版本全记录

目标

手头没有 ARM64 硬件环境,只能使用 X86 设备上模拟 Aarch64(Arm64)架构环境,用于安装国产 操作系统(例如:银河麒麟 Kylin V10)。

目前跨硬件架构的模拟器神器首选就是 qemu 了,可以模拟各种硬件环境。

我的思路:首先在 Windows 上使用 Vmware 安装 Kylin V10 X86_64 版本,然后在虚拟机内安装 qemu,最后使用 qemu 模拟 ARM 硬件 安装 Kylin V10 ARM64 版本,总体操作顺序如下图所示:

Windows -> VMware -> 安装 Kylin V10 X86_64 -> 安装 qemu -> 安装 Kylin V10 ARM64

注意: 你也可以在Windows 下直接使用 qemu 来模拟 arm 硬件,但运行性能比较差。需要使用 TAP-Windows 安装 tap 类型的虚拟网卡用来实现网络通讯,具体方法可 参考这篇文章。

安装步骤

安装 Kylin V10 X86_64 版本及之前的步骤比较直观(注意需要安装 ‘带 UKUI GUI 的服务器’),这里就不作介绍,各位看官可自行百度。以下步骤全部在安装好的 Kylin V10 X86_64 系统下进行。

安装 QEMU

安装 qemu 之前需要将安装开发环境,升级 GCC 到 7.4.0 以上版本。具体可参照我这边文章的介绍。
【信创】银河麒麟 Kylin V10 升级 GCC 操作步骤

废话不多说,开始安装!

  1. 下载安装 Ninja
wget https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
unzip ninja-linux.zip
mv ninja /usr/bin/
# 检查运行是否正常
ninja --version
  1. 安装相关依赖
yum -y install pixman pixman-devel libmount libmount-devel glib2 glib2-devel libtool flex bison clang
  1. 下载及编译安装 qemu
wget https://download.qemu.org/qemu-8.0.4.tar.xz
tar -xf qemu-8.0.4.tar.xz
mkdir qemu-8.0.4/build/
cd qemu-8.0.4/build/
../configure --prefix=/usr/local
make
make install

安装 Kylin V10 ARM64 版本

  1. 从官方获取安装 ISO 文件(自行百度)。

  2. 从下面的网站获取 BIOS 镜像:

https://releases.linaro.org/

  1. 创建虚拟网卡:
yum -y install net-tools
ip tuntap add tap0 mode tap
ip link set tap0 up
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
# 宿主机IP为 192.168.80.130
ip route add 192.168.80.150 dev tap0
ifconfig
# ens33 为宿主机网卡
arp -Ds 192.168.80.150 ens33 pub
  1. 创建磁盘文件:
qemu-img create -f qcow2 kylin-v10-sp2-aarch64.qcow2 120G
  1. 使用官方镜像安装系统:
# Kylin-Server-V10-SP2-Release-Build09-20210524-aarch64.iso 为官方安装光盘文件
qemu-system-aarch64 -m 1024 -cpu cortex-a72 -smp 2,cores=1,threads=2,sockets=1 -M virt -bios QEMU_EFI.fd -netdev tap,ifname=tap1,id=tapnet,script=no -device virtio-net-device,netdev=tapnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=Kylin-Server-V10-SP2-Release-Build09-20210524-aarch64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=kylin-v10-sp2-aarch64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0

执行上面的命令后请在系统的图形界面下使用 vncviewer 访问安装界面,根据向导完成安装。
开始安装

  1. 运行新安装的系统:
qemu-system-aarch64 -m 1024 -cpu cortex-a72 -smp 4,cores=1,threads=4,sockets=1 -M virt -bios QEMU_EFI.fd -netdev tap,ifname=tap1,id=tapnet,script=no -device virtio-net-device,netdev=tapnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=kylin-v10-sp2-aarch64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0

问题

我尝试使用同样的方法安装下面两个版本的 Kylin,但卡在了安装步骤(运行命令后不出现任何提示)无法继续,希望有经验的朋友告知如何解决,不甚感激!

  • Kylin-Host-V10-SP3-General-Release-2304-ARM64.iso
  • Kylin-Server-V10-SP3-General-Release-2303-ARM64.iso
    光盘无法启动