如何构建内核模块的 Debian 包?

如何构建内核模块的 Debian 包?

具体来说,我想使用最新的 uvc 驱动程序为 debian/lenny 构建一个软件包。我可以编译并安装它们,但我希望以正常的 debian 方式打包它们。我想我会以某种方式使用 make-kpkg,但我不知道该怎么做。module-assistant 似乎不太好,因为它似乎只使用 debian 中可用的源。

答案1

有一个比 ma 更好的解决方案:陣容

它实际上使得分发外部内核模块和自动为较新的内核版本编译它们变得更容易(考虑安装新的 linux-headers 包)。

答案2

没有简单的答案。从头开始创建真正的 Debian 软件包不仅仅是将文件粘贴到存档中,您还需要控制文件和安装脚本以及使其成为软件包而不仅仅是 tarball 的所有其他内容。

要了解如何使用 dh-make 和 debhelper 创建软件包,请先阅读新维护者指南,然后阅读开发人员指南包装“最佳实践”

然后,/usr/share/doc/module-assistant/README.gz介绍HOWTO-DEVEL.gz如何使用打包工具创建模块助手可以理解的源包。

我认为,如果您要打包默认内核包中存在的模块,则需要做更多工作来防止冲突。如果您只是为自己这样做,最好构建和安装自定义内核包,并禁用“旧”驱动程序,这样文件就不会发生冲突(请注意 README.gz 中有关 KVERS 的说明)。

答案3

你可以使用 module-assistant 来实现这一点。请参阅http://wiki.debian.org/ModuleAssistant

相关内容