如何使用 archiso 调试启动时的内核恐慌?

如何使用 archiso 调试启动时的内核恐慌?

我有一台 2011 年中期的 iMac,运行 OSX,我正在尝试按照此安装 Arch Linux指导。去年,我按照类似的过程成功设置了双启动,但现在我什至无法启动,因为在从 archiso 的实时 USB 安装启动时出现内核恐慌:就在登录提示之前。我 100% 确定图像没有损坏(我检查了签名并在另一台电脑上启动了它)。

自去年以来,它起作用了,我尝试了每个旧版本,并隔离了引入问题的版本:它是 2015-05-01 内核 4.0.1。旧版本可以正常启动,我可以完成安装,但重新启动后我还是会出现内核恐慌。

我不知道该怎么办,因为我无法更改 archiso 图像上的任何设置,而且堆栈跟踪速度太快,我什至无法记录它:一眼就注意到“空指针取消引用”、“调度原子”和“修复递归错误,但需要重新启动”。

我该如何调试它?并且,可能我该如何解决这个问题?

答案1

我安装了linux-lts按照 chroot 中的 @mikeserv 的建议,我将其设置为 grub 配置中的默认启动选项。这样我就可以很好地启动到 linux 3.14 并完成安装过程。 vanilla linux 内核与 LTS 版本一起安装,因此使用 grub 菜单中的“高级选项”我仍然可以使用 linux 4.0 启动并看到系统崩溃。

然后我尝试使用转储在内核恐慌期间对机器进行内存转储,但由于某种原因,我仍然不知道kexec不会在我使用调试选项重新编译的内核上启动。

最终,我设法以困难的方式读取内核恐慌日志:通过使用高帧速率相机记录它,我能够识别导致崩溃的驱动程序:radeon_audio_detect。该错误已被报道好几次了,它似乎影响了所有带有 radeon gpu 的 Mac 和其他系统。 A修补因为它已经被添加到内核中4.2rc5

相关内容