cod*_*ber 10 linux ubuntu virtualbox linux-kernel
我已经在我的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,更多的清理,但没有任何改变.
在真实机器上从同一源运行相同的内核启动.我在virtualbox中找不到记录的bug或找到ubuntu的更新.
接下来我尝试通过添加到grub的linux命令来自己调试它:debug earlyprintk=vga,keep
甚至删除initrd行添加noinitrd到内核,但我没有得到任何错误.只是一个屏幕上有grub的"echo"消息,这些消息永远都是这样的.
小智 1
为了检查内核是否启动,我将使用 KDB(内核的内置调试器),并查看启动时是否收到提示。
为了更好的调试,我会尝试让 KGDB(内核的 GDB)工作。
您实际上可以激活两者以使所有选项可用。有关此内容的更多信息,请参阅以下链接:
https://www.kernel.org/doc/htmldocs/kgdb/index.html