我正在尝试使用未通过 menuconfig 公开的 Xen dom0 配置标志编译 linux 内核(3.0.0-13)。(是的,我知道 ubuntu 提供了一个支持 Xen 半虚拟化的“虚拟”风格内核,但该内核似乎无法在我的硬件上启动。所以,我正在尝试使用额外的 Xen 配置编译“通用”风格的 ubuntu 内核标志,因为我知道“通用”风格在我的硬件上运行)。每次我尝试编译我的配置标志时,都会根据与我的内核二进制文件一起生成和打包的 .config 文件被忽略。
我尝试了以下方法:
- 使用 apt-get source linux-image 下载内核源代码
然后我按照本指南中的所有步骤操作:如何编译新的 Ubuntu 11.10 (Oneiric) 内核并执行以下额外步骤:
- 将我自己的配置标志放在 config.flavor.xxx 文件中,然后编译 linux-image 包
- 在运行“menuconfig”后立即暂停“debian/rules editconfigs”命令,并用我的自定义 .config 文件替换 build/.config 文件,然后编译 linux-image 包
我还使用了以下 howto How To Compile A Kernel - The Ubuntu Way并在我已经拥有的内核源代码上运行以下命令:
- 编辑 .config 文件以获得我的配置标志
- 运行“制作旧配置”
- 运行'make-kpkg clean && fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers'
每次编译内核后,我都安装了新编译的 linux-image 包,发现我的配置标志不在 /boot/config-xxx 文件中,正如我所料。
- 我做错了什么导致我的配置标志被忽略?
- 我可以做些什么来确保在编译时使用我的内核配置标志?
- 除了重新编译内核以获得适用于我的硬件的 Xen dom0 内核之外,还有其他选择吗?