如何从自定义 Linux 内核切换到分发内核

x3j*_*3ja 4 linux debian lvm kernel

在我的业余时间,我帮助管理一个托管的 Debian Linux 服务器,该服务器为一些人提供各种网站和托管电子邮件。它没有看到大量的流量,但我们当然想把事情做好。然而,当我们第一次得到这个服务器时,有人为我们推出了一个自定义内核,它允许我们做我们想做的各种事情(比如 LVM、RAID 等)。那是几年前的事了,当然还有各种安全漏洞已经修复等等,我们宁愿只是从一个保持最新的库存内核中运行。

问题是我们没有在滚动自定义内核时启用的功能列表,并且几次尝试使用新内核导致内核无法启动。所以问题是 - 我们如何使用现有的 Debian 内核,同时仍然能够拥有我们所依赖的所有功能?我需要先收集哪些信息,然后采取哪些步骤来实现?

Tim*_*Tim 5

首先,您需要评估您到底需要内核做什么。这意味着建立一个列表:

  • 系统中的每一个硬件
  • 硬件相关功能,如 LVM 和 RAID
  • 网络功能,如路由、VPN、无线支持等。
  • 文件系统,尤其是您的根文件系统
  • 其他特殊的内核级需求

接下来,您应该尝试弄清楚您当前的内核如何处理它们,然后尝试将其转换为更新的内核。为此,您可以查看:

  • 的输出lspcidmesg-这将帮助您目录硬件以及当前的内核确实在引导什么
  • 加载了哪些模块 - 看看 lsmod
  • 内核配置(如果可用) - 有时它存在/proc/config.gz/boot

一旦您了解了您的硬件以及当前内核如何处理它,您就可以从 Debian 源代码中推出一个新内核。专注于获得首先启动的内核。一旦您可以使用新内核进入 shell,您就可以对其余功能采用增量方法。重新编译,根据需要添加功能或驱动程序(可能作为加速此过程的模块),然后测试每个新内核。

关于 RAID 的最后一句话。您应该小心当前的 RAID 设置,如果它是软件 RAID - 较新的内核和系统将使用mdadm来管理此类事情,而较旧的系统则倾向于使用raidtab方法。您的方法将改变您在内核中处理 RAID 的方式,尤其是自动检测位。查看优秀的Software RAID Howto了解更多信息。