由于专有内核模块我没有源代码,而且对于要加载到哪个内核版本非常挑剔(即使使用 modprobe --f),我发现自己需要在我的 Debian5 机器上运行 2.6.16.XX 内核。机器使用 2.6.26-2 原装内核可以正常启动,而且我已通过制作 .deb 并执行 dpkg -i 成功构建并启动了基于 2.6.26 和 2.6.31 的内核。
但是,当我对 2.6.16 执行同样的方法时,内核在启动时挂起。我正在 VMWare 映像中测试此问题,因此我认为这不是旧内核不支持较新硬件的问题。
对于正常工作的内核,在启动时我得到:
Uncompressing Linux.. OK booting the kernel
Loading, please wait...
mdadm: No devices listed in the conf file were found
kinit name_to_dev_t /dev/hda5 (dev5,3)
...
使用 2.6.16.60 时,我从未收到 kinit 消息。它在 mdadm 行之后挂起。这台机器上没有 mdadm 阵列,所以我怀疑这是 mdadm 内部的问题,它应该会像上面的 2.6.26 情况一样出错,但出于某种原因,我无法进入 kinit。
我一直在为此而努力,因此我非常愿意接受有关如何解决此问题的建议。
答案1
有很多事情都可能出错。首先,你需要找出引导过程中到底哪里出现了问题。如果你更改了内核,它会加载一个初始化文件,其中的内容可能也需要更改。这通常会让人感到困惑。如果您以详细的方式启动内核,可以清楚地看到它在运行时遇到问题,这将非常有帮助。