Qemu 安装 LoongArch架构 Fedora Remix F42 Linux系统

文章目录

环境准备

  • Windows 系统
  • QEMU Binaries for Windows (64 bit)
  • Fedora Remix F42 LoongArch架构 MINI系统 (LiveCD for Minimal)

Fedora Remix F42 LoongArch架构下载地址

markdown 复制代码
* 这里使用的是 MINI系统 (LiveCD for Minimal)
* iso 下载地址:
 https://mirrors.wsyu.edu.cn/fedora/linux/F42/rawhide/Everything/loongarch64/iso/livecd-fedora-minimal-202512051945.iso

在 Windows 上运行 qemu 模拟器

qemu 安装后把安装目录加到 PATH 环境变量。这里的安装目录在 D:\Program Files\qemu

创建虚拟机

创建一个 60G 虚拟磁盘用于系统盘

bat 复制代码
qemu-img create -f qcow2 fedora-loongarch64_rootfs.qcow2 60G

编写一个 bat 批处理脚本,方便后续启动

start_qeum_fedora-loongarch64.bat:

bat 复制代码
@echo off
title=Fedora-loongarch64

:: chcp 65001

set QEMU_HOME=D:\Program Files\qemu

"%QEMU_HOME%\qemu-system-loongarch64.exe" ^
 -name guest=Fedora-loongarch64 ^
 -m 4G -smp 4 ^
 --cpu la464 --machine virt ^
 -bios "%QEMU_HOME%\share\edk2-loongarch64-code.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 ^
 -device virtio-blk-pci,drive=rootfs-storage ^
 -object rng-builtin,id=rng0 ^
 -device virtio-rng-pci,rng=rng0 ^
 -drive id=rootfs-storage,file=fedora-loongarch64_rootfs.qcow2,if=none ^
 -cdrom D:\Linux\loongarch64\livecd-fedora-minimal-202512051945.iso ^
 -device virtio-net-pci,netdev=unet ^
 -netdev user,id=unet,hostfwd=tcp::3022-:22 ^
 -accel tcg,thread=multi

pause

注意修改上面的位置 QEMU_HOME 是 qemu 的安装目录,cdrom 是下载的 iso 镜像,fedora-loongarch64_rootfs.qcow2 是刚才创建的虚拟磁盘。

bios 文件用的是 qemu 安装目录下自带的 share\edk2-loongarch64-code.fd

通过 hostfwd 将虚拟机的 22 端口转发到 3022,用于方便后续通过 ssh 远程连接。

启动虚拟器

双击上面编写 start_qeum_fedora-loongarch64.bat 脚本,启动虚拟机。

虚拟机里启动项选择 Start Livecd Fedora

登录系统

登录用户和密码都是 root

复制代码
root
root

修改ssh服务配置

登录后先将 ssh 服务配置为允许root用户密码登录,方便通过 ssh工具操作。

bash 复制代码
vi /etc/ssh/sshd_config

将下面的 PermitRootLogin 的值改为 yes

bash 复制代码
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes

重启 ssh 服务

bash 复制代码
systemctl restart sshd

ssh远程连接

使用 Xshell 或者 Putty 等 ssh连接工具进行连接

bash 复制代码
ssh root@127.0.0.1:3022

磁盘分区

bash 复制代码
# lsblk -p
可以看到刚创建的 60G 磁盘在 /dev/vda

# 运行 cfdisk 进行分区
cfdisk /dev/vda
  • 使用方向键选择 New 创建分区
  • 分区方案(UEFI/GPT):
markdown 复制代码
1. /dev/vda1 EFI 分区: 512M,Type: EFI System
2. /dev/vda2  根分区:剩余空间,Type: Linux filesystem
  • 完成后选择 Write 写入分区表
bash 复制代码
# lsblk -p
查看磁盘分区情况

格式化分区

bash 复制代码
# 假设分区如下:
# /dev/vda1 = EFI
# /dev/vda2 = 根分区

# 格式化 EFI 分区
mkfs.fat -F16 /dev/vda1

# 格式化根分区
mkfs.ext4 /dev/vda2

# 查看分区情况
lsblk -f -p

安装系统

挂载分区

bash 复制代码
# 1. 挂载根分区
mount /dev/vda2 /mnt

# 2. 创建必要的挂载点
mkdir -p /mnt/boot/efi
mkdir -p /mnt/home

# 3. 挂载其他分区
mount /dev/vda1 /mnt/boot/efi

安装系统和基础软件

bash 复制代码
dnf --installroot=/mnt --use-host-config install fedora-release kernel dnf systemd NetworkManager bash sudo passwd iproute iputils bash-completion glibc-langpack-zh glibc-langpack-en

生成 fstab

bash 复制代码
dnf install genfstab

genfstab -U /mnt >> /mnt/etc/fstab

# 检查生成的 fstab
cat /mnt/etc/fstab
bash 复制代码
# 挂载必要的系统目录
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
mount -t tmpfs tmpfs /mnt/tmp
mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars 2>/dev/null || true

下面的命令都在 chroot 环境下执行

bash 复制代码
# 进入 chroot 环境
chroot /mnt /bin/bash

# 安装 efi引导程序
dnf install efibootmgr grub2-efi grub2-efi-loongarch64 grub2-efi-loongarch64-modules

# 重新生成启动内核文件
dnf reinstall kernel-core

# 复制启动项到 /EFI/BOOT/ 避免 UEFI 不能自动识别
cp /boot/efi/EFI/fedora/grub.cfg /boot/efi/EFI/BOOT/grub.cfg
cp /boot/efi/EFI/fedora/grubloongarch64.efi /boot/efi/EFI/BOOT/BOOTLOONGARCH64.EFI

其他必要步骤

bash 复制代码
# 设置用户密码,我这里将密码设置成 root 要输入两次密码
passwd

# 安装必要服务和程序
dnf install chronyd openssh-server vim

# 系统服务设置成开机自启
systemctl enable NetworkManager
systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl enable chronyd
systemctl enable sshd

# 设置默认目标(运行级别)
systemctl set-default multi-user.target

# ssh 服务配置为允许root用户密码登录
# 将 PermitRootLogin 的值改为 yes
vim /etc/ssh/sshd_config

以上所有步骤完成后,关闭Qemu虚拟机电源,再次重新双击上面的bat脚本即可启动安装好的系统。

其他设置

bash 复制代码
# 设置本地化
localectl set-locale LANG=zh_CN.UTF-8

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 设置主机名
hostnamectl set-hostname fedora42
相关推荐
赵民勇7 小时前
Linux/Unix中install命令全面用法解析
linux·shell
苏宸啊9 小时前
Linux指令篇(一)
linux·运维·服务器
我要升天!10 小时前
Linux中《网络基础》
linux·运维·网络
鸽芷咕10 小时前
【2025年度总结】时光知味,三载同行:落笔皆是沉淀,前行自有光芒
linux·c++·人工智能·2025年度总结
羑悻的小杀马特10 小时前
指尖敲代码,笔尖写成长:2025年度总结与那些没说出口的碎碎念
linux·c++·博客之星·2025年度总结
晴天¥11 小时前
VMware+Oracle linux LVM/非LVM磁盘扩容
linux·运维·服务器
oMcLin12 小时前
如何在Oracle Linux 8.4上搭建并优化Kafka集群,确保高吞吐量的实时数据流处理与消息传递?
linux·oracle·kafka
worilb12 小时前
journalctl 与 tail 使用对比
linux
UIUI12 小时前
list_for_each_entry
linux·数据结构·链表
LeenixP13 小时前
RK3576-Debian12删除userdata分区
linux·运维·服务器·数据库·debian·开发板