gpt4 book ai didi

linux - 如何在 virtualbox 中调试内核加载和 intrd 加载

转载 作者:IT王子 更新时间:2023-10-29 00:08:00 26 4
gpt4 key购买 nike

我已经在我的 arch 主机上克隆了 linux 内核 repo(主机是 ubuntu 16.04)。两周前我能够启动到新内核(当时是 4.11.rc06),然后我执行 git pull 并重新编译所有内容,它只是在“加载初始 ramdisk 镜像...”后挂起。

所以我尝试了 git clean -xfd 然后 make localmoduleconfig 回答所有的默认值,然后 make 然后 make modules_install 然后是 mkinitcpio -p linux.4.11.custom,当然还有 sudo cp -v arch/x86_64/boot/bzImage/boot/vmlinuz-linux.4.11.custom

在我确认它确实挂起后,我尝试了更多的 git pulls、更多的 cleans,但没有任何改变。

在真机启动时从相同的来源运行相同的内核。我在 virtualbox 中找不到记录的错误或找不到 ubuntu 的更新。

接下来我尝试通过添加到 grub 的 linux 命令来自己调试它:debug earlyprintk=vga,keep 甚至删除了向内核添加 noinitrd 的 initrd 行,但我没有收到任何错误。只是一个带有 grub 的“回声”消息的屏幕,它会永远保持这种状态。

  1. 如何调试它?
  2. 有人知道可以做什么吗?

最佳答案

为了检查内核是否启动,我会使用 KDB(内核的内置调试器),看看您是否在启动时得到提示。

为了更好地调试,我会尝试让 KGDB(内核的 GDB)正常工作。

实际上,您可以同时激活两者以使用所有选项。有关这方面的更多信息,请参见以下链接:

https://www.kernel.org/doc/htmldocs/kgdb/index.html

关于linux - 如何在 virtualbox 中调试内核加载和 intrd 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43946672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com