由于一个专有内核模块,我没有源代码并且对它将加载到哪些内核版本非常挑剔(即使使用 modprobe --f),我发现自己需要运行 2.6.16.XX 内核在我的 Debian5 机器上。机器使用 2.6.26-2 库存内核启动良好,我通过制作 .deb 和 ndoing 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 .
我一直在用头撞墙,所以我非常愿意接受有关如何解决此问题的建议。
有很多事情可能出错。您首先需要找出它在引导过程中停止的确切位置。如果您更改了内核,并且它加载了一个initrd,那么其中的内容可能也需要更改。这经常抓住人。如果您以详细的方式引导内核以清楚地看到它运行时遇到问题的点,那将非常有帮助。