如何在virtualbox中调试内核加载和内部加载

时间:2017-05-12 21:23:03

标签: linux ubuntu linux-kernel virtualbox

我已经在我的arch托管机器上克隆了linux内核repo(主机是ubuntu 16.04)。两个星期前,我能够启动进入新内核(当时是4.11.rc06),然后我做了git pull并重新编译了所有内容,它只是在#34;加载初始ramdisk映像后挂起......" 。

所以我尝试startActivity()然后finish()回答所有内容的默认设置,然后git clean -xfd然后make localmoduleconfig然后make,当然还有make modules_install

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

在真机上从同一个源运行相同的内核。 我在virtualbox中找不到记录的bug或找到ubuntu的更新。

接下来我尝试通过添加grub的linux命令来调试它:mkinitcpio -p linux.4.11.custom甚至删除了向内核添加noinitrd的initrd行,但我没有收到任何错误。只是一个屏幕与grub"回声"永远保持这种情况的消息。

  1. 我该如何调试?
  2. 有谁知道可以做些什么?

1 个答案:

答案 0 :(得分:0)

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

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

您实际上可以激活两者以使所有选项都可用。有关详细信息,请参阅以下链接:

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