随着板卡芯片不断更新,操作系统中的驱动可能不支持新的芯片,所以需要升级驱动。
在所有的硬件中,raid卡驱动是一种比较特殊的驱动,如果操作系统不支持raid卡,在安装系统过程中就无法识别raid卡下的硬盘,导致系统无法正常安装。这种情况下,我们可以通过制作raid卡驱动镜像文件,辅助升级系统驱动,达到安装系统的目的。
本文主要以raid卡驱动megaraid_sas为例。
- 安装依赖软件包
dnf install -y tar rpm-build createrepo genisoimage
- 下载驱动包,进行解压
tar -xf MR_LINUX_DRIVER_7.22-07.722.02.00-2.tgz
- 进入源码包目录,安装驱动源码包
cd kmod_srpm/
rpm -ivh kmod-megaraid_sas-07.722.02.00-2.src.rpm
- 查看 megaraid_sas.spec 文件
ls -l /root/rpmbuild/SPECS/megaraid_sas.spec
- 编译spec文件,生成驱动rpm包
【注意:编译环境和架构要求和待安装操作系统相同】
rpmbuild -ba /root/rpmbuild/SPECS/megaraid_sas.spec
- 创建制作目录,将编译好的驱动软件包复制到目录下
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
- 创建rhdd3文件
echo “Driver Update Disk version 3” > driver/rhdd3
- 使用createrepo命令创建repodata
createrepo --pretty driver/rpms/aarch64/
createrepo --pretty driver
- 制作驱动镜像文件
mkisofs -R -V “Driver” -o megaraid_sas.iso driver
- 验证驱动镜像文件
驱动镜像文件可以被正常挂载识别