我们创建了一些使用 PCIe 2.0 的定制硬件。此硬件适用于装有 CentOS Linux 5.4 的 HP DL360 G7 服务器。因此,在 HP 服务器上,Linux 能够很好地冷启动、识别卡并与我们的驱动程序交互。但是,当我们尝试将卡插入普通戴尔 T3500 PC 时,Linux 无法启动。它在 initrd 之后挂起,没有崩溃、调试或错误消息。所以我的问题是,有哪些工具或设置可以帮助调试这个问题?我们想知道为什么启动过程无法通过 initrd。
问问题
735 次
4 回答
0
KGDB 内核调试器允许您通过串行端口将故障机器连接到另一台机器,并gdb
在第二台机器上使用以调试第一台机器上的内核。
于 2010-12-15T00:15:39.760 回答
0
从诸如 Knoppix 之类的 live CD 引导并使用那里可用的实用程序来诊断问题(dmesg、dconf、lspci 等)。很可能是您的驱动程序和戴尔上的硬件之间存在冲突。
于 2010-12-14T21:32:44.840 回答
0
从您的描述中不清楚引导是否在挂载 initrd 时挂起,或者在执行 initrd 中的内容(初始化脚本等)时是否挂起。如果是后者,我通过打开 initrd 并更改其中的 init 脚本以立即进入 bash 提示符来诊断出类似的问题。然后重新归档 initrd,您应该可以直接引导至提示符。从那里您可以手动执行 initrd 初始化脚本中的每个命令,直到找到罪魁祸首。
于 2010-12-14T22:40:22.163 回答
0
尝试删除相关的戴尔驱动程序
find /lib/modules/$(uname -r)/kernel/drivers/ -name "*dell*"
做一个tar -cf
备份它们,然后删除所有这些 ko 文件。
于 2018-06-15T01:56:29.703 回答