一、跟踪分析内核的启动过程实验 :
1.启动Menuos:
qemu仿真kernel:
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img
2.调试跟踪:
-S 开始处冻结CPU,方便调试
-s 使用tcp端口1234来进行通讯,将进程信息传过去(在后面的调试中会用到)。若不想使用1234端口,可以使用-gdb tcp:xxxx来取代-s选项
启动gdb,把内核加载进来,建立连接:
file linux-3.18.6/vmlinux
target remote:1234
在 start_kernel 处设置断点,继续执行,停在断点处:
在 rest_init 处设置断点,继续执行,停在断点处: