构建相同的 ubuntu 内核包

构建相同的 ubuntu 内核包

我编译了我自己修补的上游 linux 内核版本。到目前为止,我一直使用make-kpkg,方法是运行

CONCURRENCY_LEVEL=9 fakeroot make-kpkg --initrd --append-to-version=-patched kernel_image kernel_headers kernel_debug.

(我以前在某处读过关于该kernel_debug目标的内容,但似乎没有记录)我想要的是行为和功能与相应 ubuntu 软件包完全相同的软件包,因为这似乎并非如此。上述命令创建了内核头文件包,但 virtualbox dkms 只是跳过了此内核模块的构建,因为它找不到源代码(我检查过,它们存在于 /usr/src 中)。

我也需要一个已编译内核的调试包,因为 kdump 和其他调试工具都需要它,而且我真的很希望它是一个 ubuntu 包,而且似乎创建的 dbg 包相当小。

除了图像、标题和调试(通过 ddebs 存储库)之外,ubuntu 似乎还提供 linux-image-extra 和 linux-tools 包,但我找不到它们是“make-kpkg”的任何目标,它们是自动集成的吗?

那么我怎样才能构建我需要的所有包呢?

编辑:我发现了以下情况:

  1. 对于调试包,您需要将CONFIG_DEBUG_INFO=y其与目标一起包含在内核配置中kernel_debug
  2. 对于找不到内核源的 dmks:它似乎make-kpkg不是为了为您自己以外的人创建包,因为包会创建指向构建目录的链接,如果您问我,这是疯狂的,如果您删除构建目录,则标题包将完全损坏,因为链接/lib/modules/<kernel-version>/build指向构建目录。

有没有比这更好的方法呢?make-kpkg因为我不需要创建包含指向构建目录的链接的包的工具。为什么有人需要一个自动化工具,然后你需要在之后修复它?

相关内容