我有一个内核模块,我想分发它。(包装)。
我想发布它,这样用户就不需要做yum/dnf install kmod-mymodule以外的任何事情了。
如何方便地分发内核模块,使用户只需执行yum install kmod-mymodule,并为特定的机器编译模块?
如果有不可知论的解决方案,我会全神贯注的!
发布于 2022-11-30 09:49:22
RPM:我必须为所有的专业和未成年人版本的RHEL建立RPM。
但从你当事人的角度来看,这可能是正确的选择。单包,干净,即时,不依赖,安装。
也许你需要覆盖6到12个版本--所有的版本都是相同的SRPM。您可以将该SRPM上传到铜管上的您自己的项目中,让IBM支付构建模块所需的电费,或者在运行for config in /etc/mock/rhel+epel-{7,8,9}-{x86_64,aarch64}.cfg ; do mock --rebuild ${your SRPM here} -r ${config} ; done的shell脚本中有一个循环(您可能需要调整/etc/mock中的模板,以便为您提供不同的RHEL未成年人)。
或者,您可以在您自己的容器、VM或站点上可用的任何东西中进行模拟,而不是使用模拟来设置您的独立构建环境。
您需要使用akmods,这样每次内核更新时(以及第一次安装),二进制内核模块RPM都会自动重新构建。
这样,您的用户只需要安装一个akmod包,它将取决于内核标头包,该包将与内核一起自动更新。它还将依赖于必要的构建工具(一个C编译器等)。
Rpm聚变的将内核模块封装为akmods会有更多的细节。最后,akmod只是一种自动构建kmod的方法。
最好还是看看这方面的例子吧。v4l2loopback-kmod包包含一个第三方内核模块,它为Linux内核的v4l2摄像机基础结构添加了视频回送功能。您可以找到规范以及其他打包文件这里。
https://unix.stackexchange.com/questions/726810
复制相似问题