Portal:LoongArch
欢迎来到 LoongArch 门户 编辑
主题 编辑
=== 在 openSUSE Tumbleweed 上设置运行 Debian unstable 的 LoongArch QEMU 实例 ===
1. 安装 LoongArch 的 QEMU
# zypper in qemu qemu-extra qemu-img
2. 下载并安装 LoongArch EFI 固件
# wget https://kojipkgs.fedoraproject.org/packages/edk2/20241117/5.fc42/noarch/edk2-loongarch64-20241117-5.fc42.noarch.rpm # zypper in ./edk2-loongarch64-20240813-2.fc42.noarch.rpm $ mkdir ~/qemu $ cp /usr/share/edk2/loongarch64/QEMU_VARS.fd ~/qemu/qemu-loongarch_efivars.fd
3. 下载 Debian unstable ISO 镜像 (loong64)
$ cd ~/qemu $ wget https://cdimage.debian.org/cdimage/ports/snapshots/2024-11-11/debian-12.0.0-loong64-NETINST-1.iso
4. 创建 QEMU 磁盘镜像
$ cd ~/qemu $ qemu-img create -f qcow2 debian_loong64.qcow2 20G
5. 创建新的 bash 脚本来运行 QEMU
#!/bin/bash
qemu-system-loongarch64 \
-m 4G -machine virt,pflash0=rom,pflash1=efivars \
-blockdev node-name=rom,driver=file,read-only=true,filename=/usr/share/edk2/loongarch64/QEMU_EFI.fd \
-blockdev node-name=efivars,driver=file,filename=${HOME}/qemu/qemu-loongarch_efivars.fd \
-smp cpus=4 \
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 \
-net nic,netdev=eth0 \
-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 \
-device virtio-gpu-gl,xres=1280,yres=800 -display gtk,gl=on \
-drive file=${HOME}/qemu/debian_loong64.qcow2,format=qcow2,media=disk \
-cdrom ${HOME}/qemu/debian-12.0.0-loong64-NETINST-1.iso
将脚本保存为 qemu-loongarch.sh。
注意:为了将控制台输出重定向到虚拟终端,请替换
-device virtio-gpu-gl,xres=1280,yres=800 -display gtk,gl=on \
为
-nographic \
此外,必须将 "console=ttyS0" 传递给内核命令行。这可以通过在 GRUB 中按 <e>,将光标移动到以 "linux" 开头的行,按 <Ctrl>+<e>(将光标移动到行尾并在 "quiet" 之后附加 "console=ttyS0"),然后按 <Ctrl>+<x> 启动内核来实现。
6. 使脚本可执行并运行它
$ chmod 755 qemu-loongarch.sh $ ./qemu-loongarch.sh
7. 安装 Debian
GRUB 启动后,按 <Enter> 从 GRUB 菜单运行 "Install",然后按照屏幕上的说明操作。
安装完成后,退出 QEMU 并编辑上面的脚本以删除以 "-cdrom" 开头的最后一行。同时,请删除前一行的尾部反斜杠。
然后再次运行脚本以启动已安装的系统。如果 GRUB 未自动启动,请通过键入 "exit" 退出 EFI Shell,导航到“Boot Maintenance Manager”,然后找到 grubloongarch64.efi EFI 二进制文件以启动
进入 GRUB。新闻 编辑
待办事项 编辑
: