确定内核在启动时挂起的原因

时间:2011-02-23 12:34:40

标签: linux-kernel gentoo

嗨:      我正在为我的gentoo linux构建内核。当我启动内核时,我      收到了这条消息,无法继续。

pci_hotplug: PCI Hot Plug PCI Core version: 0.5
non-volatile memory driver v1.3


i don't know how to solve this problem . and i need help . thanks .

3 个答案:

答案 0 :(得分:1)

为什么不尝试在内核中禁用pci hotplug支持(如果我在主配置菜单/ PCI支持中正确回忆)?你可能不需要这个。

答案 1 :(得分:1)

我不得不不同意那些投票结束的人,因为我认为这里确实存在一个问题,问题是"如何调试这个?"

我将提出两种方法:

1)学习方法:了解用于处理启动问题的机制。看看是否可以增加内核调试消息级别。 Quizzo建议禁用不需要的驱动程序。

2)牛仔方法:grep查找最终消息中看到的字符串的内核源代码,并开始用自己的"仍然活着的#34; printk消息。一旦你知道它挂在哪里,找出原因并删除该机制或修复它。

在极端情况下,还有一个用于调试内核的工具 - kgdb - 如果你有第二台机器,你可以设置它。

如果您已经在此框中运行了linux,请查看/ proc中的config.gz或引导文件夹中是否可以提取并与您尝试编译的配置进行比较。首先重新编译并测试与运行完全相同的版本和配置,然后逐个进行所需的更改可能不是一个坏主意。

此外,您可能会看到系统中是否存在可以暂时删除的奇怪硬件。例如,如果我在启动过程中插入了大型USB外置驱动器,那么我的旧版PC有一个在驱动器枚举期间挂起的BIOS。

答案 2 :(得分:0)

我通过在内核配置文件中启用所有pci hotplug标志来解决问题。 全都想。