随想录(qemu仿真linux kernel)

本文介绍了如何利用QEMU来调试Linux内核(kernel),包括QEMU的安装、Linux内核的编译、文件系统的准备、启动仿真环境以及使用GDB进行调试的方法。此外还提供了在多核环境下调试内核的具体步骤。


【 声明:版权全部,欢迎转载。请勿用于商业用途。  联系信箱:feixiaoxing @163.com】  


    算上从研究生開始,自己看kernel的时间不短了。尽管代码看了不少,原理书也看了不少了,可是总认为理解的不是非常透彻。调试kernel最好能够像调试普通运行文件一样,单步运行最好。

前一段时间用了qemu之后,发现用qemu调试kernel还真是方便。


    (1)安装qemu


    sudo apt-get install qemu-kvm

    sudo apt-get install qemu



    (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, 怎么办?


    client: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,真的非常有意思。




转载于:https://www.cnblogs.com/jzdwajue/p/6862592.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值