一、硬件平台

台式机 联想开天P3H G1t

组件 型号 说明
CPU 海光 C86-3G 3350 8核16线程,Zen1架构,相当于AMD锐龙1700水平
主板 MTTS50 BIOS版本 w0jkt20a,联想开天/ThinkStation方案
显卡 摩尔线程 MTT S50 8GB显存,PCIe x16,国产GPU
系统盘 TWSC 512GB NVMe /dev/nvme0n1
数据盘 西数 2TB SATA机械 /dev/sda
内存 DDR4,32GB

二、系统选型与兼容性陷阱

2.1 版本选择的关键误区

最初尝试安装 麒麟V10 2403,但启动后直接 Kernel Panic,报错信息如下:

RIP: entry_SYSCALL_64_after_hwframe+0x5c/0xc1
Code: Bad RIP value
CR2: 0000000000000000
Call Trace: lookup_fast -> walk_component -> link_path_walk
unable to handle kernel paging request

问题根源:麒麟V10 2403官方支持列表明确为 海光C86-4G 及新一代CPU(鲲鹏920新型号、飞腾S5000C、龙芯3D5000等),而 C86-3G(3350)的支持首次加入是在2303版本。2403版本内核可能移除了C86-3G所需的CPU微码和初始化代码。

重要提示:麒麟V10 x86版本分为 “兆芯/海光专用版”“HWE版(Intel/AMD专用)”,务必下载前者。

2.2 为什么2403最终能跑?

经过BIOS调试后,2403成功启动并完整安装。这说明:

  • 2403内核并未完全移除C86-3G支持,但默认路径可能依赖某些BIOS特性
  • BIOS设置(特别是IOMMU相关)直接影响内核初始化流程
  • 社区验证:C86-3G + 2403 的组合在正确配置下可以工作,但属于非官方支持场景

三、BIOS调试:从Kernel Panic到成功启动

3.1 必须关闭的选项

选项 路径(海光BIOS通用) 作用 关闭原因
IOMMU HYGON CBS → NBIO Common Options → NB Configuration DMA重映射与设备隔离 内核在IOMMU初始化阶段崩溃,Call Trace指向iommu相关路径
Hygon Memory Guard 同IOMMU附近 海光内存安全扩展(类似AMD TSME) 2403内核可能未正确识别C86-3G的Memory Guard实现
SR-IOV Advanced → PCI Subsystem Settings 单根I/O虚拟化 依赖IOMMU,且增加PCIe初始化复杂度

3.2 相关选项说明

  • Resize BAR:海光C86-3G平台通常无独立选项(该特性多见于RDNA2/Gen12以后显卡),但摩尔线程驱动要求此功能,实测主板可能默认开启
  • Above 4G Decoding:在海光BIOS中可能显示为 “4GB以上空间解码”,默认已开启
  • Secure Boot:建议关闭,避免与麒麟内核签名验证冲突
  • SVM Mode(AMD-V):非虚拟化场景建议关闭

3.3 调试过程

初始状态:IOMMU开启 → Kernel Panic
修改后:IOMMU关闭 + Memory Guard关闭 + SR-IOV关闭 → 成功进入安装界面

由于同时修改了三个参数,无法精确定位单一因素。但Kernel Panic的Call Trace明确指向IOMMU相关路径,IOMMU是最可能的根本原因


四、磁盘分区与加密容器处理

4.1 原有系统状态

机器此前安装了麒麟服务器版Kylin-server-v10-sp3,分区结构如下:

/dev/nvme0n1 (512GB NVMe)
├── p1: EFI系统分区 (600MB, FAT32, /boot/efi)
├── p2: /boot分区 (1GB, XFS)
└── p3: LUKS加密容器 (475GB) → 解锁后 → LVM卷组 → 逻辑卷 → XFS

4.2 "加密磁盘"标签的含义

安装器检测到p3存在LUKS签名,但无法解锁(无密码或未提示输入),因此显示为 “加密磁盘”。这不代表可以读写,而是安装器无法识别内部结构。

4.3 全盘安装方案

选择 “全盘安装” + “格式化整个磁盘”,安装器自动重新分区:

/dev/nvme0n1
├── p1: EFI (600MB, vfat)
├── p2: /boot (1GB, ext4)
└── p3: LVM物理卷 (剩余全部)
    ├── / 分区 (ext4, 系统根目录)
    ├── backup分区 (ext4, 系统恢复点)
    ├── data分区 (ext4, 用户数据)
    └── swap分区 (swap, 虚拟内存)

/dev/sda (2TB机械)
└── 独立数据盘 (ext4, 挂载为数据盘)

关键选项

  • ❌ 出厂备份 — 不需要
  • ❌ 全盘加密 — 避免加密复杂性
  • ☑️ 逻辑卷(LVM) — 推荐,便于后期动态扩缩容
  • ☑️ 格式化整个磁盘 — 必须勾选,确保旧加密容器物理清除

五、摩尔线程MTT S50驱动安装

5.1 驱动包

使用摩尔线程官方 musa_3.1.0-pc_x86.deb 驱动包。

5.2 依赖问题解决

首次安装报错:

musa 依赖于 libgles2;然而:未安装软件包 libgles2。

修复步骤:

sudo apt-get update
sudo apt-get install -f
sudo apt-get install libgles2 libgles2-mesa
sudo dpkg -i musa_3.1.0-pc_x86.deb

5.3 安装成功标志

DKMS: install completed.
WARNING: The system needs to be restarted for MUSA driver!

重启后验证:

# 内核模块加载
$ lsmod | grep mtgpu
mtgpu  3592192  131

# 显卡信息
$ mthreads-gmi
ID   Name    |PCIe            |%GPU  Mem
0    MTT S50 |0000:05:00.0    |7%    637MiB(8192MiB)
             |16x(16x)        |48C   

# 分辨率
$ xrandr
Screen 0: current 1920 x 1080
HDMI-1 connected primary 1920x1080+0+0

# OpenGL硬件加速
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: MTT S50

六、关键经验总结

6.1 兼容性结论

组合 官方支持 实际可行性 关键条件
C86-3G 3350 + 麒麟2303 无特殊要求
C86-3G 3350 + 麒麟2403 可行 必须关闭IOMMU/Memory Guard/SR-IOV
C86-4G + 麒麟2403 无特殊要求

6.2 BIOS设置速查表

必须关闭:
  ✅ IOMMU = Disabled
  ✅ Hygon Memory Guard = Disabled
  ✅ SR-IOV = Disabled
  ✅ Secure Boot = Disabled(建议)
  ✅ SVM Mode = Disabled(非虚拟化场景)

保持开启:
  ✅ SMT Mode = Enabled
  ✅ Core Performance Boost = Enabled
  ✅ Above 4G Decoding = Enabled(默认)

6.3 摩尔线程MTT S50驱动要点

  • 驱动版本 3.1.0 在麒麟2403 + 海光3350上直接可用
  • 依赖 libgles2,需先修复再安装
  • resize barabove 4G 可能主板默认开启,无需手动设置
  • 支持OpenGL硬件加速,1920x1080输出正常


七、参考命令汇总

# BIOS调试后验证系统状态
lscpu | grep -i hygon          # 确认CPU识别
lspci | grep -i vga            # 确认显卡识别
lsmod | grep mtgpu             # 确认显卡驱动加载
mthreads-gmi                   # 显卡详细信息
xrandr                         # 显示输出状态
glxinfo | grep "OpenGL renderer" # 确认3D加速

# 磁盘与分区查看
lsblk                          # 块设备树
sudo fdisk -l /dev/nvme0n1     # 分区表详情
sudo lvdisplay                 # LVM逻辑卷详情
sudo pvdisplay                 # LVM物理卷详情

# 驱动安装排错
sudo apt-get install -f        # 修复依赖
sudo dpkg -i --force-depends musa_*.deb  # 强制安装(不推荐)
sudo dkms status               # 查看DKMS模块状态
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐