【发布时间】:2012-02-05 14:05:31
【问题描述】:
我正在尝试使用未通过 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”命令,并用我的自定义 .config 文件替换 build/.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 内核之外,还有其他选择吗?
【问题讨论】: