openEuler 22.03(LTS-SP2) 上 AMD W6800 GPU压测方法(1)

环境准备

硬件环境

  • 鲲鹏服务器
  • W6800 显卡,需要确保系统内可以检测到显卡,确保如下命令回显不为空,如果系统内检测不到显卡,需要检查显卡供电,或联系BMC团队人员定位
lspci -vt |grep W6800

软件环境

  • 操作系统:openEuler 22.03 (LTS-SP2),系统安装时选择安装系统工具、开发工具。
  • 确保网络连通,可以正常访问源,下载工具。

软件准备

工具安装

  1. 关闭源的SSL验证
    sed -i '$a sslverify=false' /etc/yum.conf
  1. 更新缓存
    yum clean all
    yum makecache
  1. 安装工具
    yum install -y make dpkg dpkg-devel openssl openssl-devel ncurses ncurses-devel bison flex bc 
    libdrm build elfutils-libelf-devel patch make gcc

内核适配

下载固件及内核源码

显卡固件:

    https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/linux-firmware-20210919.tar.gz

内核源码:

    https://gitee.com/openeuler/kernel/repository/archive/5.10.0-60.18.0.zip

更新固件

将固件压缩包上传到服务器自定目录(此处以/home/目录为例)

cd /home/
tar -xvf linux-firmware-20210919.tar.gz
# 更新固件,当前EulerOS上没有固件文件夹,需要手动创建。
mkdir -p /usr/lib/firmware/amdgpu
cp -ar linux-firmware-20210919/amdgpu/* /usr/lib/firmware/amdgpu/

内核源码准备

将下载好的内核源码压缩包上传至服务器的/usr/src/kernels/目录,并解压

cd /usr/src/kernels
# 解压内核源码
unzip 5.10.0-60.18.0.zip

合入内核补丁

:内核patch在文末,拷贝patch内容到本地,保存为文件(文本格式):0003.enable_AMD6800_for_kernel_5.10.0.patch

如果保存的patch无法合入,可以从附件中获取patch文件。

合入patch命令如下:

cd /usr/src/kernels/kernel-5.10.0-60.18.0

patch -p1 < 0003.enable_AMD6800_for_kernel_5.10.0.patch

修改内核代码。

patch 代码不足以支撑启动显卡的图形化,需要做一些修改,分别执行以下命令

cd /usr/src/kernels/kernel-5.10.0-60.18.0/

sed -i 's/depends\ on\ DRM_AMD_DC\ &&\ X86/depends\ on\ DRM_AMD_DC/g' drivers/gpu/drm/amd/display/Kconfig

sed -i '55i ifdef CONFIG_X86' drivers/gpu/drm/amd/display/dc/dcn30/Makefile

sed -i '66i endif' drivers/gpu/drm/amd/display/dc/dcn30/Makefile

修改.config文件

将附件中的config文件拷贝到内核源码目录,并重命名为 .config

cd /usr/src/kernels/kernel-5.10.0-60.18.0

mv config .config

编译并安装内核

cd /usr/src/kernels/kernel-5.10.0-60.18.0

make -j

make modules_install -j

make install

如果在执行make install指令时出现以下报错:
Error! Bad return status for module build on kernel: 5.10.0 (aarch64)
Consult /var/lib/dkms/kmod-kvdo/8.1.0.316-1/build/make.log for more information.
则需要在执行指令yum remove dkms后,重新执行make install

grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg

grub2-set-default 'openEuler (5.10.0) 22.03 (LTS-SP2)'

重启使新内核生效

reboot

系统重启后,输入以下指令,当回显为5.10.0表明已成功切换至新编译的内核

uname -r

2 个赞