bluesky000 发表于 2006-3-8 18:43:01

请教一下GRUB 是如何加载内核的?

早期的LINUX是通过专用的引导程序加载内核的,那现在的GRUB又是如何做的呢?
而且现在的内核体积已经超过了1M,应该不能在实模式下加载了啊。
还请高手指教一二

keenor 发表于 2006-3-23 14:20:39

grub的确是进保护模式的。然后跳到setup.s,或者是head.s,我也记不得了。方法你可以看setup.s跟head.s,然后结合bochs跟qemu调试内核。编译内核的时候加上-g,给汇编器也加-gstub还是-gdbstub,我不记得了,你自己查一下。我是直接改Makefile的,不知道有没有更优雅的办法。
bochs的主要用来调试没打开分页之前的代码,这时候实际运行中的地址跟调试信息里的地址差3G,gdb不能显示代码,一旦打开分页,好象在head.s中,就可以完全用qemu+gdb调。
页: [1]
查看完整版本: 请教一下GRUB 是如何加载内核的?