我正在尝试使用未通过 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 文件中。
- 我做错了什么导致我的配置标志被忽略?
- 我该怎么做才能确保在编译时使用我的内核配置标志?
- 除了重新编译内核以获得适用于我的硬件的 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/