因为我在 12.04 服务器中试验了 btrfs,所以我使用了kernel-ppa/mainline - Ubuntu 内核(适用于 12.10 Quantal)。我还使用 LXC,当内核编译时带有 CONFIG_MEMCG 和 CONFIG_MEMCG_SWAP 标志(上述内核中没有这两个标志)时,LXC 的效果会更好。
我想尝试以尽可能兼容 Ubuntu 的方式使用这些标志重新编译内核。怎么做?如何从 12.04 获取源代码(或者我应该仅为此过程安装 12.10?)
(我在网上找到的所有教程都假设我使用最新的内核,或者某个特定的版本(与我的不同)或者内核源代码取自 apt-source)
答案1
如果您只想使用 linus 的树并根据自己的喜好调整配置,那么我使用以下方法:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
签出您需要的版本,例如
git checkout -b v3.6 v3.6
获取现有 Ubuntu 配置的副本
cp /boot/config-3.5.0-17-generic .config
..并修改它以添加或删除各种配置选项。您可能还需要以交互方式回答一些配置选项问题。
并构建:
make oldconfig
make deb-pkg INSTALL_MOD_STRIP=1
请注意,您将不会通过这种方式获得任何 Ubuntu 内核团队修复、CVE 更新和 SAUCE 补丁,因此您完全可以自行维护。