openEuler 制作驱动镜像文件

随着板卡芯片不断更新,操作系统中的驱动可能不支持新的芯片,所以需要升级驱动。

在所有的硬件中,raid卡驱动是一种比较特殊的驱动,如果操作系统不支持raid卡,在安装系统过程中就无法识别raid卡下的硬盘,导致系统无法正常安装。这种情况下,我们可以通过制作raid卡驱动镜像文件,辅助升级系统驱动,达到安装系统的目的。

本文主要以raid卡驱动megaraid_sas为例。

  1. 安装依赖软件包

dnf install -y tar rpm-build createrepo genisoimage

  1. 下载驱动包,进行解压

wget https://repo.oepkgs.net/openEuler/rpm/openEuler-20.03-LTS-SP3/contrib/drivers/source/Packages/MR_LINUX_DRIVER_7.22-07.722.02.00-2.tgz

tar -xf MR_LINUX_DRIVER_7.22-07.722.02.00-2.tgz

  1. 进入源码包目录,安装驱动源码包

cd kmod_srpm/

rpm -ivh kmod-megaraid_sas-07.722.02.00-2.src.rpm

  1. 查看 megaraid_sas.spec 文件

ls -l /root/rpmbuild/SPECS/megaraid_sas.spec

  1. 编译spec文件,生成驱动rpm包

【注意:编译环境和架构要求和待安装操作系统相同】

rpmbuild -ba /root/rpmbuild/SPECS/megaraid_sas.spec

  1. 创建制作目录,将编译好的驱动软件包复制到目录下

mkdir -p driver/rpms/aarch64

cp /root/rpmbuild/RPMS/aarch64/kmod-megaraid_sas-07.722.02.00-2.aarch64.rpm driver/rpms/aarch64/

cp /root/rpmbuild/RPMS/aarch64/kmod-megaraid_sas-07.722.02.00-2.aarch64.rpm driver

  1. 创建rhdd3文件

echo “Driver Update Disk version 3” > driver/rhdd3

  1. 使用createrepo命令创建repodata

createrepo --pretty driver/rpms/aarch64/

createrepo --pretty driver

  1. 制作驱动镜像文件

mkisofs -R -V “Driver” -o megaraid_sas.iso driver

  1. 验证驱动镜像文件

驱动镜像文件可以被正常挂载识别