QEMU使用上手

简单说一下个人对qemu的认识

  1. qemu是一个夸平台的虚拟机软件,可以实现在一个指令集平台上仿真运行另一个指令集的程序,比如可以在x86的平台上仿真运行ARM平台的软件和程序。使用qemu可以直接运行其他平台的用户态软件,这个称为用户态模式;qemu同时能够仿真(虚拟化)一个CPU的执行环境以运行OS级别的软件,这个称为系统模式。后面讨论只关注qemu的系统模式。
  2. qemu最为大家熟知的还是qemu+kvm的使用模式,这种情况下kvm作为qemu中的一种指令翻译手段,可以实现硬件支持的虚拟化功能。随着x86,ARM等平台对硬件虚拟化的支持,这种模式会越来越常见。这种模式作为一种开源的虚拟化解决方法,用来对抗XEN,VMWARE等其他的虚拟化解决方案。

        我接触最多的还是上面的第1种。个人感觉这种使用方法给我带来的好处是可用使用gdb调试linux内核。闲话不说,开搞。

        首先是获取qemu的代码了,可以载官方的网站上下载,推荐使用git

         git clone git://git.qemu-project.org/qemu.git
           然后git tag可以看到qemu发布的每个版本都有打tag,如果想checkout出2.2.0版本的代码,可以使用如下的命令

        git checkout -b qemu-2.2.0 v2.2.0
       如果们想变编译出支出x86_64和arm系统模式的qemu,可以使用如下的命令

         ./configure --target-list=arm-softmmu,x86_64-softmmu
         make -j8<span style="font-size:18px;">
</span>

       配置编译过程遇到的问题请自行解决。推荐使用ubuntu系统,遇到的问题可能会少很多。编译完成之后可执行文件的位置如下:


编译构建vexpress的linux系统

        网络上有很多介绍使用qemu的文章,个人觉得对于一个程序员来说,非常的重要一点是从远吗构建自己所要的系统,如果要研究源码的话,从源码构建自己所要的系统就更重要。说白了,你都不知道怎么使用一个工具,你怎么能研究它?

       这里推荐大家一个软件,buildroot,到官网下载解压就可以了,都是一堆脚本,可以从源码构建一个嵌入式系统(支持mini2440哦,感兴趣的兄弟可以研究)。对于我们的目的(可以载虚拟机上运行vexpress平台的linux内核和文件系统),两个命令就可以搞定



      当然了,时间这依赖于你的网速。。。。。

      你还可以执行make menuconfig 对你的系统进行配置:


      如果一切顺利,在buildroot的根目录下会出现一个output目录,该目录下有你所要的一切,源码


        交叉编译工具链,


        镜像



         如果感觉不爽了,该代码,改脚本,重新编译,重新构建,反正代码都有了,怕什么。

使用qemu运行构建的系统

         这个也有现成的可以参考,如图:

        多研究研究buildroot,会发现buildroot支持很多的东西!

        最后秀一下本人的运行脚本与效果

        运行脚本


        效果



          上图就是虚拟机的运行效果,vexpress平台使用的cortex-a9处理器,最多支持4个核。这个相当于你免费有了一套cortex-a9的多核开发板,是不是很给力!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值