随想录(qemu仿真linux kernel)

算上从研究生开始,自己看kernel的时间不短了。虽然代码看了不少,原理书也看了不少了,但是总觉得理解的不是很透彻。调试kernel最好可以像调试普通执行文件一样,单步执行最好。前一段时间用了qemu之后,发现用qemu调试kernel还真是方便。

(1)安装qemu

sudo apt-get install qemu-kvm

(2)编译kernel

cp /boot/config-3.8.0-19-generic .config

make menuconfig,保存

make bzImage -j4

(3)文件系统直接使用linux发行版自带的ram文件系统

cp /boot/initrd.img-3.8.0-19-generic initrd.img

(4)仿真kernel, 开始

qemu -kernel bzImage -initrd initrd.img

(5)如果想调试bzImage, 怎么办?

客户端:qemu -kernel bzImage -initrd initrd.img -s -S

gdb : gdb vmlinux

target remote :1234

b start_kernel

c

(6)仿真双核下的x86环境

qemu -kernel bzImage -initrd initrd.img -smp 2 qemu使用多线程的方法仿真多核,每个线程代表一个核。大家完全可以用调试多线程的方法调试多核x86 cpu,真的很有意思。

我也相信爱可以排除万难;只是,万难之后,又有万难。这是我更相信的。

随想录(qemu仿真linux kernel)

相关文章:

你感兴趣的文章:

标签云: