首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用源代码分发内核模块的最佳方法是什么?

用源代码分发内核模块的最佳方法是什么?
EN

Unix & Linux用户
提问于 2022-11-30 09:07:06
回答 1查看 500关注 0票数 2

我有一个内核模块,我想分发它。(包装)。

我想发布它,这样用户就不需要做yum/dnf install kmod-mymodule以外的任何事情了。

  • SRPM:用户必须在其机器上构建RPM,然后安装RPM。我不能把它放进百胜仓库
  • RPM:我必须为所有的专业和未成年人版本的RHEL建立RPM。
  • DKMS:可能是解决方案,但它希望用户知道如何使用dkms,而不是那么透明。

如何方便地分发内核模块,使用户只需执行yum install kmod-mymodule,并为特定的机器编译模块?

如果有不可知论的解决方案,我会全神贯注的!

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 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或站点上可用的任何东西中进行模拟,而不是使用模拟来设置您的独立构建环境。

自动化目标RPM大楼.

您需要使用akmods,这样每次内核更新时(以及第一次安装),二进制内核模块RPM都会自动重新构建。

这样,您的用户只需要安装一个akmod包,它将取决于内核标头包,该包将与内核一起自动更新。它还将依赖于必要的构建工具(一个C编译器等)。

Rpm聚变的将内核模块封装为akmods会有更多的细节。最后,akmod只是一种自动构建kmod的方法。

最好还是看看这方面的例子吧。v4l2loopback-kmod包包含一个第三方内核模块,它为Linux内核的v4l2摄像机基础结构添加了视频回送功能。您可以找到规范以及其他打包文件这里

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/726810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档