在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux

OS: ubuntu 22.04 x86_64

一、下载Qemu 源码

wget https://download.qemu.org/qemu-7.2.0.tar.xz

二、安装编译依赖

sudo apt install clang
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build
sudo apt-get install git-email
sudo apt-get install libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev
sudo apt-get install libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev
sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev
sudo apt-get install librbd-dev librdmacm-dev
sudo apt-get install libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev
sudo apt-get install libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev 
sudo apt-get install libnfs-dev libiscsi-dev
sudo apt-get install libslirp-dev

三、编译

$ tar xf qemu-7.2.0.tar.gz
$ cd qemu-7.2.0
$ cd build/
$ ../configure  --enable-slirp --target-list=loongarch64-linux-user,loongarch64-softmmu --prefix=/opt/qemu-7.2
$ make -j8
$ make install

四、运行

1. 查看支持的cpu 与机器类型

$ export PATH=/opt/qemu-7.2/bin:$PATH
$ qemu-system-loongarch64 --version
QEMU emulator version 7.2.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers

$ qemu-system-loongarch64 -M ?
Supported machines are:
none                 empty machine
virt                 Loongson-3A5000 LS7A1000 machine (default)

$ qemu-system-loongarch64 -cpu ?
la464-loongarch-cpu

2. 运行archlinux

下载固件
$ wget https://mirrors.wsyu.edu.cn/loongarch/archlinux/images/QEMU_EFI_7.2.fd

下载系统
$ wget https://mirrors.wsyu.edu.cn/loongarch/archlinux/images/archlinux-xfce4-2022.12.03-loong64.qcow2.zst
$ zstd -d archlinux-xfce4-2022.12.03-loong64.qcow2.zst
qemu-system-loongarch64 \
    -m 4G \
    -cpu la464-loongarch-cpu \
    -machine virt \
    -smp 4 \
    -bios ./QEMU_EFI_7.2.fd \
    -serial stdio \
    -net nic -net user \
    -device virtio-vga \
    -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 archlinux-xfce4-2022.12.03-loong64.qcow2

系统的默认账号密码都是:loongarch

在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第1张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第2张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第3张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第4张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第5张图片

五、利用ArchLinux ISO镜像安装

1. 下载ISO

wget https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/archlinux-2023.01.10.2-loong64.iso

2. 创建Qemu镜像

$ qemu-img create -f qcow2 archlinux.img 100g

# -f qcow2 是指:qemu 采取的镜像格式,qcow2 是 qemu 最常使用的格式,该格式下可以采用来写时复制技术来优化性能;
# archlinux.img 是指:镜像名称
# 100g 是指:镜像文件大小

注意事项:archlinux 安装最小需要60GB,所以镜像创建的大小需大于 60GB

3. 安装ArchLinux

3.1 启动ISO

qemu-system-loongarch64 \
    -m 4G \
    -cpu la464-loongarch-cpu \
    -machine virt \
    -smp 4 \
    -bios ./QEMU_EFI_7.2.fd \
    -serial stdio \
    -net nic -net user \
    -device virtio-vga \
    -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 \
    -boot d -cdrom archlinux-2023.01.10.2-loong64.iso \
    -hda archlinux.img
    
# -hda: 指定要安装虚拟机要使用的虚拟磁盘
# -boot d: 指定启动位置,d 表示从光盘启动
# -cdrom: 指定 cdrom 为 iso 文件

在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第6张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第7张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第8张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第9张图片

3.2 开始安装

输入setup 开启安装
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第10张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第11张图片

配置完成之后按回车安装就好了。

注意事项:安装过程中需要通过联网下载软件包,所以得确保配置的网络能联到互联网。
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第12张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第13张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第14张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第15张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第16张图片
在x86平台体验龙芯LoongArch--使用Qemu-7.2安装LoongArch版的ArchLinux_第17张图片

到此安装就完了,重启即可。验证是否安装正常,可以按照 4.2 运行archlinux 中的方法启动即可。

六、编译常见错误

ERROR: Cannot find Ninja

$ sudo wget -qO /usr/local/bin/ninja.gz https://github.com/ninja-build/ninja/releases/latest/download/ninja-linux.zip
$ sudo gunzip /usr/local/bin/ninja.gz
$ sudo chmod +x /usr/local/bin/ninja

ERROR: pkg-config binary 'pkg-config' not found
$ sudo apt install pkg-config

ERROR: glib-2.56 gthread-2.0 is required to compile QEMU
glib-2.56 gthread-2.0 
$ sudo apt install libglib2.0-dev

../meson.build:553:2: ERROR: Dependency "pixman-1" not found, tried pkgconfig
$ sudo apt install libpixman-1-dev

network backend ‘user‘ is not compiled into this binary 
$ sudo apt-get install libslirp-dev

编译时开启slirp
$ ../configure  --enable-slirp 

七、参考链接

https://wiki.qemu.org/Hosts/Linux
https://mirrors.wsyu.edu.cn/loongarch/archlinux/images/README.html

https://github.com/loongson/Firmware/tree/main/LoongArchVirtMachine

https://blog.csdn.net/qq502233945/article/details/128374465
https://blog.csdn.net/weixin_45709295/article/details/120007503

你可能感兴趣的:(loongarch,龙芯,LoongArch,archlinux)