目录
2.1 准备kmod-megaraid_sas-07.720.04.00-1.src.rpm
3.3 解压 megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso.gz
一、环境准备
虚拟机:centos7.6系统 工作站版本 全包安装 跟将要使用驱动的Linux系统相对应
raid卡驱动:根据raid产品型号到raid卡厂商官网下载驱动源码包,这里以brocade 9560-8i raid为例
目的:由于centos7.6 1806系统镜像中,不包含brocade厂商9560系列raid卡的驱动,这就导致服务器在安装centos7.6及以前版本系统的时候,无法识别硬盘,从而无法安装系统,所以我们这里采用inst.dd加载raid卡ISO驱动,但raid卡厂商只提供7.7及往后版本的dd驱动,因此本文就教小伙伴如何使用源码编译成Linux系统可以手动加载的格式,手动加载驱动安装系统,如果需要将驱动源码编译集成到ISO镜像文件中,不需要每次安装系统都手动加载驱动这么麻烦,请看博文主流Linux操作系统如何适配服务器硬件&将驱动集成到老版本系统安装镜像ISO文件中?-CSDN博客
二、编译驱动rpm包
2.1 准备kmod-megaraid_sas-07.720.04.00-1.src.rpm
cp /root/driver/megaraid_sas_components/kmod_srpm/kmod-megaraid_sas-07.720.04.00-1.src.rpm /home/mockbuild/
2.2 切换到mockbuild用户
su - mockbuild
2.3 安装源码
rpm -ivh kmod-megaraid_sas-07.720.04.00-1.src.rpm
2.4 进入SPEC目录
cd rpmbuild/SPECS/
2.5 编译源码
rpmbuild -bb megaraid_sas.spec
2.6 查看生成的rpm包
tree ../RPMS/
三、挂载官方的iso格式驱动文件
3.1 创建挂载目录
mkdir -p /mnt/driver_iso
3.2 进入 官方 7.7 iso 格式驱动文件 目录
cd driver/megaraid_sas_components/rhel7_oel7_centos7/disks-1/
3.3 解压 megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso.gz
这里复用rhel7.7的目录结构。
3.4 挂载镜像文件
mount megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso /mnt/driver_iso/
3.5 创建ISO格式驱动制作目录
进入/root目录, 创建 ISO格式驱动制作目录 。
mkdir driver_iso_rebuild
3.6 进入ISO格式驱动制作目录
cd driver_iso_rebuild/
3.7 拷入原ISO格式驱动文件
rsync -a /mnt/driver_iso/ .
3.8 删除原来的rpm文件和repodata
cd rpms/x86_64/
rm -rf *
3.9 拷入新编译的rpm文件
cp /home/mockbuild/rpmbuild/RPMS/x86_64/kmod-megaraid_sas-07.720.04.00-1.x86_64.rpm .
3.10 进入/root目录,创建 repodata
cd /root createrepo --pretty driver_iso_rebuild/rpms/x86_64/
3.11 重命名driver_iso_rebuild
mv driver_iso_rebuild/ dd_9560
3.12 重新打包ISO
mkisofs -R -o dd_9560.iso dd_9560/
3.13 测试验证
1)搭建 http服务
python -m SimpleHTTPServer
2) 安装系统时 编辑 启动项,系统启动时按e,将以下内容写入
inst.dd=http://10.0.52.119:8000/dd_9560.iso
3) 查看是否加载驱动成功
4) 装操作系统时正确识别驱动器
5) 安装后驱动版本为更新后的版本
modinfo megaraid-sas