linux - 重新编译未使用的 Linux 内核(使用 Xen)配置标志

标签 linux kernel config xen

我正在尝试使用未通过 menuconfig 公开的 Xen dom0 配置标志编译 linux 内核 (3.0.0-13)。 (是的,我知道 ubuntu 提供了一个支持 Xen 半虚拟化的“虚拟”风格内核,但该内核似乎无法在我的硬件上启动。所以,我正在尝试使用额外的 Xen 配置编译“通用”风格的 ubuntu 内核标志,因为我知道“通用”风格在我的硬件上运行)。每次我尝试编译我的配置标志时,都会根据生成的 .config 文件忽略我的内核二进制文件。

我尝试了以下方法:

  • 使用 apt-get source linux-image 下载内核源代码

然后我按照本指南中的所有步骤进行操作:How to compile a new Ubuntu 11.10 (Oneiric) kernel并执行了以下额外步骤:

  • 将我自己的配置标志放入config.flavour.xxx文件然后编译linux-image包
  • 在运行“menuconfig”后立即暂停“debian/rules editconfigs”命令,并将 build/.config 文件替换为我的自定义 .config 文件,然后编译 linux-image 包

我还使用了以下 howto How To Compile A Kernel - The Ubuntu Way并在我已有的内核源代码上运行以下命令:

  • 编辑 .config 文件以包含我的配置标志
  • 运行'make oldconfig'
  • 运行'make-kpkg clean && fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers'

每次编译内核后,我都会安装新编译的 linux-image 包,并发现我的配置标志并不像我预期的那样位于/boot/config-xxx 文件中。

  1. 我做错了什么导致我的配置标志被忽略?
  2. 我该怎么做才能确保在编译时使用我的内核配置标志?
  3. 除了重新编译内核以获得适用于我的硬件的 Xen dom0 内核之外,还有其他选择吗?

最佳答案

对于问题 3:还有其他方法可以为我的硬件获取 xen dom0 内核吗?

是的。

虽然所有 xen 文档都说所有标准内核都支持 xen dom0,但它们的意思是所有标准内核的源代码现在都支持 xen dom0,但在它们的预编译二进制文件中该支持已关闭。

在 debian 上有以下软件包,它是一个预构建的 linux 内核,并打开了 xen dom0 支持。软件包:linux-image-xen-686

对于真正希望编译自己的 xen dom0 内核的任何其他人,以下站点提供了很好的指南:Compiling a Xen Dom0 Kernel for Ubuntu Jaunty

关于linux - 重新编译未使用的 Linux 内核(使用 Xen)配置标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8781632/

相关文章:

linux - 为什么我不能处理 NMI?

linux - linux上的简单游戏开发

linux - 在 fork() 之前阻塞 SIGCHLD 的目的是什么?

c# - Switch 语句与 App.Config

caching - Dart-缓存配置文件

angular - 从 angular 7 配置中注入(inject) API_BASE_URL

linux - 如何在 Linux 中将特定文本添加到文本文件的列中?

c - 如何在 C 中共享具有共享内存的两个不相关进程之间的指针结构?

linux - 为什么 kthread 有 pid 2 而 systemd 有 PID 1?

c - 如何发送自己的协议(protocol)包?