将驱动ko文件制作成rpm包

将驱动ko文件制作成rpm包

有的时候,我们通过源码编译驱动文件后,只有一个ko文件或者我们只拿到ko文件,但Anaconda 驱动更新盘只读取 RPM 文件,那要怎么做?此时我们就需要重新将ko文件编译成RPM包了

步骤一:环境准备(制作机安装 rpm 打包工具)

yum install -y rpm-build rpmdevtools genisoimage createrepo tree

步骤二:构建 rpm 打包目录结构

# 进入工作目录
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cd ~/rpmbuild

步骤三:准备 ko 文件 + 编写 spec 规范文件

假设:

  • 驱动文件:hiraid.ko或者megaraid_sas.ko
  • 目标内核:4.19.90-89.11.v2401.ky10.x86_64
  • 驱动目录最终安装路径:/usr/lib/modules/4.19.90-2303.4.1.el7.aarch64/extra/hiraid或/usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/extra/megaraid/

1、将 ko 放入 SOURCES

cp /root/hiraid.ko ~/rpmbuild/SOURCES/

  • ARM架构
Name:           hiraid-drv
Version:        2.0.4.1
Release:        1.kylinV10sp1
Summary:        Hiraid RAID driver ko for Kylin V10 SP1 aarch64
License:        GPL
BuildArch:      aarch64

%description
Self-build rpm package for hiraid.ko RAID driver

%install
mkdir -p %{buildroot}/usr/lib/modules/4.19.90-2303.4.1.el7.aarch64/extra/hiraid
cp %{_sourcedir}/hiraid.ko %{buildroot}/usr/lib/modules/4.19.90-2303.4.1.el7.aarch64/extra/hiraid

%post
# 安装后更新模块依赖
depmod -a

%files
/usr/lib/modules/4.19.90-2303.4.1.el7.aarch64/extra/hiraid/hiraid.ko
  • X86架构
Name:           megaraid-sas-drv
Version:        07.221.03.00
Release:        1.kylinV10sp1
Summary:        LSI MegaRAID SAS driver packaged from raw ko
License:        GPL
BuildArch:      x86_64

%description
MegaRAID SAS RAID controller driver, built from standalone megaraid_sas.ko

%install
# 创建内核模块目录,【务必修改为你的目标完整内核】
mkdir -p %{buildroot}/usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/extra/megaraid/
cp %{_sourcedir}/megaraid_sas.ko %{buildroot}/usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/extra/megaraid/

%post
# 安装后刷新模块依赖
depmod -a

%files
# 和上面路径严格保持一致
/usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/extra/megaraid/megaraid_sas.ko

重点修改项:

  1. BuildArch:aarch64/x86_64
  2. 内核完整版本号:必须和装机 ISO 内置内核完全一致(内核不匹配 ko 无法加载!)

步骤四:编译生成 RPM 包

rpmbuild -bb ~/rpmbuild/SPECS/hiraid-drv.spec

image

编译完成后,生成 rpm 路径: ~/rpmbuild/RPMS/aarch64/hiraid-drv-2.0.4.1-1.kylinV10sp1.aarch64.rpm

posted @ 2026-08-29 10:57  杨灏  阅读(12)  评论(0)    收藏  举报