首先,deepin V23软件源中没有qemu,但是内核已默认开启KVM。所以,可以自行编译qemu,然后通过qemu运行Loongnix等系统。
第一步,下载qemu源码。当前的最新稳定版qemu是9.1.2,下载地址:https://download.qemu.org/qemu-9.1.2.tar.xz。可以直接在QEMU官网下载最新版本QEMU源码。https://www.qemu.org/
第二步,编译QEMU。先通过命令tar -xvf qemu-9.1.2.tar.xz -C ~
将源码解压到用户目录。然后cd ~/qemu-9.1.2
,进入源码目录。再执行以下命令进行编译前的configure:
./configure --prefix=/usr --target-list=loongarch64-softmmu --enable-user --enable-slirp
这一步要开启--enable-slirp
以方便虚拟机使用网络。完成之后执行make -j 8
以完成编译过程。编译好之后我不想安装到系统里面,所以执行make DESTDIR=~/qemu-bin install
安装到了用户目录。
第三步,下载虚拟机固件。下载地址:
https://github.com/loongson/Firmware/tree/main/LoongArchVirtMachine
https://github.com/loongson/Firmware/blob/main/LoongArchVirtMachine/QEMU_EFI.fd
第四步,创建虚拟机的准备工作。然后在用户目录~
创建了一个名叫vloong
的目录放虚拟机文件,把刚才准备的固件QEMU_EFI.fd
和下载下来的Loongnix 25镜像Loongnix-25.1.beta5.livecd.xfce.loong64.hybrid.iso
放入vloong
目录,再在vloong
目录中执行~/qemu-bin/usr/bin/qemu-img create -f qcow2 hdd.qcow2 128G
创建虚拟硬盘。
现在准备工作完成,在vloong
目录中打开终端,可以启动虚拟机了。安装系统启动命令:
../qemu-bin/usr/bin/qemu-system-loongarch64 -accel kvm -m 8G -smp 4 -cpu la464 -machine virt -bios ./QEMU_EFI.fd -serial stdio -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 -hda ./hdd.qcow2 -net nic -net user -boot d -cdrom ./Loongnix-25.1.beta5.livecd.xfce.loong64.hybrid.iso
看起来启动代码一大坨,拆分一下。
../qemu-bin/usr/bin/qemu-system-loongarch64 -accel kvm \
-m 8G -smp 4 -cpu la464 -machine virt \
-bios ./QEMU_EFI.fd \
-serial stdio \
-device virtio-gpu-pci \
-device nec-usb-xhci,id=xhci,addr=0x1b \
-device usb-tablet,id=tablet,bus=xhci.0,port=1 \
-device usb-kbd,id=keyboard,bus=xhci.0,port=2 \
-hda ./hdd.qcow2 \
-net nic -net user \
-boot d -cdrom ./Loongnix-25.1.beta5.livecd.xfce.loong64.hybrid.iso
安装完系统后,启动虚拟机要去掉-boot d -cdrom ./Loongnix-25.1.beta5.livecd.xfce.loong64.hybrid.iso
。
../qemu-bin/usr/bin/qemu-system-loongarch64 -accel kvm -m 8G -smp 4 -cpu la464 -machine virt -bios ./QEMU_EFI.fd -serial stdio -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 -hda ./hdd.qcow2 -net nic -net user
拆分开就是:
../qemu-bin/usr/bin/qemu-system-loongarch64 -accel kvm \
-m 8G -smp 4 -cpu la464 -machine virt \
-bios ./QEMU_EFI.fd \
-serial stdio \
-device virtio-gpu-pci \
-device nec-usb-xhci,id=xhci,addr=0x1b \
-device usb-tablet,id=tablet,bus=xhci.0,port=1 \
-device usb-kbd,id=keyboard,bus=xhci.0,port=2 \
-hda ./hdd.qcow2 \
-net nic -net user