在QEMU中安装mips64el虚拟机(Windows/Linux平台)

龙芯3A处理器是MIPS64EL架构的,在实验课外做系统实验,虚拟机是不可缺少的。在网上找到了一些相关资料,在这里记录下来。

准备阶段

安装 QEMU

对于Windows系统,到 https://qemu.weilnetz.de/ 下载适合你的电脑的安装包;在Ubuntu/Debian中,运行 sudo apt install qemu-system-mips64el -y 命令安装需要的程式。

下载 ISO 镜像

http://cdimage.debian.org/cdimage/release/current/mips64el/iso-cd 下载最新的镜像,如 curl -OL 'http://cdimage.debian.org/cdimage/release/current/mips64el/iso-cd/debian-10.1.0-mips64el-netinst.iso'

下载 initrd & vmlinux

下载 http://ftp.debian.org/debian/dists/stretch/main/installer-mips64el/current/images/malta/netboot 里的两个文件。

curl -OL 'http://ftp.debian.org/debian/dists/stretch/main/installer-mips64el/current/images/malta/netboot/initrd.gz'
curl -OL 'http://ftp.debian.org/debian/dists/stretch/main/installer-mips64el/current/images/malta/netboot/vmlinux-4.9.0-11-5kc-malta'

新建虚拟磁盘

qemu-img create -f qcow2 hda.qcow 10G

运行 Debian 安装程序

运行如下命令: (按照实际情况更改文件名及相关路径)

Linux:

qemu-system-mips64el -cdrom debian-10.1.0-mips64el-netinst.iso \
-hda hda.qcow \
-M malta \
-kernel vmlinux-4.9.0-11-5kc-malta \
-boot d \
-initrd initrd.gz \
-m 512 \
-cpu 5KEc \
-nographic \
-append "root=/dev/sda1 nokaslr"

Debian安装程序

Windows:

“C:\Program Files\qemu\qemu-system-mips64el.exe” -cdrom D:\debian-10.1.0-mips64el-xfce-CD-1.iso -hda hda.qcow -M malta -kernel D:\vmlinux-4.9.0-11-5kc-malta -boot d -initrd D:\initrd.gz -m 512 -cpu 5KEc -append “root=/dev/sda1 nokaslr”

注意:输入命令后立即在在弹出的QEMU窗口中选择 View -> serial0 。 按照程序的提示进行系统的安装,依机器性能,安装大概需要一个多小时。

选择 View -> serial0

提取 initrd(Linux下)

sudo modprobe nbd max_part=8
sudo qemu-nbd --connect=/dev/nbd0 hda.qcow
mkdir hda
sudo mount /dev/nbd0p1 hda
cp hda/boot/initrd.img-4.9.0-11-5kc-malta .
sudo umount hda
sudo qemu-nbd -d /dev/nbd0

找不到在Windows下直接挂载镜像读取ext4分区内文件的方法,还是在Linux下弄吧。

从 sda 启动虚拟机

qemu-system-mips64el -hda hda.qcow \
-M malta \
-kernel vmlinux-4.9.0-11-5kc-malta \
-initrd initrd.img-4.9.0-11-5kc-malta \
-m 512 \
-cpu 5KEc \
-nographic \
-append "root=/dev/sda1 nokaslr"

Windows: (not tested)

“C:\Program Files\qemu\qemu-system-mips64el.exe” -hda hda.qcow -M malta -kernel D:\vmlinux-4.9.0-11-5kc-malta -initrd D:\initrd.gz -m 512 -cpu 5KEc –serialstdio -append “root=/dev/sda1 nokaslr console=ttyAMA0,115200 console=tty  highres=off console=ttyS0  ”

运行截图

参考资料: Installing debian stretch mips64el on qemu

发表评论

电子邮件地址不会被公开。 必填项已用*标注