编译内核 Debian Squeeze

编译内核 Debian Squeeze

我是新手,我正在尝试使用 Debian Squeeze 升级/编译内核,以解决我在使用 Linux-Vserver 时遇到的问题。我尝试使用的说明以“apt-get installlinux-source-2.6.32”和“apt-get build-dep linux-source-2.6.32”开头。Vserver 人员建议我使用 3.2.42。

问:我是否应该在我的说明中用“3.2.42”替换“2.6.32”(不起作用),或者我是否应该使用“2.6.32”作为基准,然后下载较新的内核,将其解压等。稍后再执行我的步骤?

我认为这里的部分目标是不使用库存的 .config,而是使用适合我的硬件的 .config。

谢谢!

答案1

这不是专业人士轻易采取的一步,但这是可以做到的。

Debian 有自己的品牌内核编译文档很少 地点

一般步骤如下:

  1. 获取正确的包裹。
  2. 配置它。
  3. 编译它。
  4. 打包。

Debian 软件包包括您已经知道的软件包fakeroot,以及 、 和make-kpkg3.2 系列源代码位于 squeeze-backports 仓库中,因此启用该 repo 然后执行您已经知道的语法来获取它。

您现在有了正确的包裹。

对于配置,您有几个选项。最安全的是make oldconfig在新的源代码树中执行并采用默认设置。

不太安全,但听起来像你正在寻找的是make localmodconfig关闭所有不安全的模块当前已加载,理论上它将创建一个与您的硬件完全匹配的配置。只需确保在运行此命令之前加载您将使用的所有模块,或者手动编辑生成的 .config 文件以启用您想要的模块。

您现在已有配置。

编译和打包很容易,debian 提供了工具。

fakeroot make-kpkg clean
fakeroot make-kpkg 

这将为您留下一个可以通过 dpkg 安装的 Debian 内核包。


此时,您将拥有一个新内核!它甚至可能在第一次尝试时就成功。如果不行,请返回 2(配置它)并重试。重复操作,直到成功。

但有一些注意事项:

  • 我们无法告诉您具体需要哪些内核模块。我们对您的系统了解不够,也不知道它需要告诉您什么。
  • 不管你如何努力破解内核,你都完全有可能最终无法得到可启动的内核。这种情况会发生,这就是我们的学习方式。
  • 现在就看你是否及时了解内核补丁了。我注意到反向移植的 3.2 内核比最新的补丁集少了几个补丁集(你想要的是 .42,但它有 .39),所以我不知道 Debian 更新这些补丁的频率是多少。

相关内容