将模块复制到另一个系统

将模块复制到另一个系统

我配置并制作了一个自定义内核,该内核来自从 kernel.org 下载的 vanilla 内核。现在我通过简单的“vmlinuz”和“initrd.img”复制以及一些 grub 配置将其移植到另一台机器。(实际上我使用的是 Xen,因此 grub 配置对我来说也不需要)

现在对于模块,我该如何复制?我可以直接将 /lib/modules/(myCustomeKernelVersion) 复制到其他系统吗?

关于 Xen,Ubuntu 官方文档对于 xen-create-image,显示 --modules 选项指向模块目录。它与上面提到的目录相同吗?

请注意,我使用的是 vanilla 内核,而不是分发内核。这是必需的,请不要对此提出疑问。

答案1

如果您使用的是 vanilla 内核,我建议您从 VM 本身的内核源构建相同的 vanilla 内核和模块。使用 Ubuntu 编译/提供的模块可能不是一个好主意,因为这可能会导致 arch/兼容性问题、恐慌等。uname -r如果构建过程顺利,自定义内核模块可在 /lib/modules/ 中找到。

注意:--modules=/path/to/modules,此选项用于指向 domU 内模块的位置,类似于“--initrd”

答案2

我在尝试在 Android 设备上本地启动 Ubuntu 时一直这样做,我需要完整的模块文件夹、system.map vmlinuzconfig。您可以获取完整的版本、源代码和模块,您所要做的就是打开命令提示符,然后/lib/modules使用

sudo zip -r your-custom-kernel-string.zip your-custom-kernel-string

然后将 zip 复制到您想要保存它们的位置,例如您的桌面或主文件夹,然后chown将其保存。这将压缩自定义内核模块文件夹中的所有相关文件。

相关内容