• Android x86 On Qemu



    https://github.com/HybridOS/Document/wiki/Android-x86-On-Qemu


    ubuntu 14.04 搭建android-x86 qemu测试运行环境

    首先在系统上安装qemu 以及qemu-img,这里不细说qemu的安装;

    用qemu命令来创建虚拟机.

    第一步 创建一个虚拟机的硬盘 vdisk

    将来来存放虚拟操作系统的.这个虚拟硬盘是利用文件系统来进行模拟的.

    qemu-img create -f qcow2 vdisk.img 10G

    qcow2是一种硬盘的格式,比qcow更新;qcow2 is an updated version of the qcow format, intended to supersede it.

    The main difference with the original is that qcow2 supports multiple

    virtual machine snapshots through a new, flexible model for storing snapshots.

    qcow支持数据大小动态的增加,而不是一开始就固定大小了,直接分配那么大的位置占空间。

    第二步 安装iso并运行

    qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 -boot order=dc -hda /opt/vdisk.img -cdrom android_x86.iso

    选项解释:

    -enable-kvm 是使用kvm内核,不用qemu的内核,开启虚拟机加速;

    -m 1024是给客户机分配1024MB内存;

    -smp 1 是给客户机分配1个CPU;

    -boot order=dc是指定系统的启动顺序为光驱(d: CD-ROM)、硬盘(c: hard Disk);

    -hda 是分配给客户机的IDE硬盘(即前面准备的镜像文件);

    -cdrom 是分配客户机的光驱。

    默认情况下,QEMU会启动一个VNC server端口(如上面的::1:5900),可以用vncviwer工具来连接到QEMU的VNC端口查看客户机。出现如下信息:VNC server running on `127.0.0.1:5900'

    这意味着,你的虚拟机已经开启了,并且,开通了一个端口给你,你可以利用5900端口去远程桌面连接.

    接下来就是普通的安装操作系统了.在安装结束后,我们需要进行重启,可能就出现问题了.这是将原先的虚拟机ctrl+c强制结束了.然后再次运行虚拟机

    第三步 运行刚刚安装的操作系统

    qemu-system-x86_64 vdisk.img -m 1024 -enable-kvm

    【note】If you’re on Fedora/RHEL/CentOS (and installed a kvm package and not built kvm yourself from source) then substitute qemu-kvm for qemu-system-x86_64

    【NOTE】 我尝试了下面三个版本:Android-x86 ** kitkat-x86** 分支对应的 4.4版本,使用live模式和安装模式均能正常启动,启动起来之后进入qemu窗口后鼠标键盘无反应;

    Android-x86 lollipop-x86 分支对应的6.0版本,可以正常启动并且可以进行简单的使用,没有进行深入的测试;

    Android-x86 marshmallow-x86 分支对应的6.0版本,可以正常启动且可以进行简单的使用,没有进行深入的测试;

    Screenshoot lollipop-x86:lollipop-x86-on-qemu

    Screenshoot marshmallow-x86:marshmallow-x86-on-qemu


    • qemu配置网卡的两种方法:> 我之前进行过相关的测试,qemu这一块的网络连接的相关方法分享一下,配置起来稍微麻烦一点,需要创建虚拟网卡;如果在本地测试可以通端口映射的方式进行;方法如下:

    方法一:创建虚拟网卡(注意本地机器上创建的虚拟网卡和qemu上的配置的地址网段的关系)

    • 一、需要安装的工具软件:
    apt-get install bridge-utils        # 虚拟网桥工具
    apt-get install uml-utilities       # UML(User-mode linux)工具
    
    • 二、配置虚拟网卡的命令:
    sudo ifconfig tap0 down
    sudo tunctl -d tap0
    sudo tunctl -b -u $USER -t tap0
    sudo ifconfig tap0 192.168.10.1 promisc up
    
    • 三、qemu启动时需要添加相关参数,启动命令如下:
    sudo qemu-system-x86_64 -enable-kvm -m 1024 -smp 2  -hda qemu-test/vdisk.img -cdrom android-x86.iso -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no
    

    【note 起来之后在qemu中通过命令行设置ip地址】

    • 然后在宿主机上使用adb connect x.x.x.x 连接qemu中的android系统进行相关的操作;

    方法二、在启动qemu的时候直接进行端口映射:

    sudo qemu-system-x86_64 -enable-kvm -m 1024 -smp 2  -hda ./vdisk.img -cdrom android_x86_64.iso -redir tcp:5555::5555
    adb shell
    

    当前三个版本的android-x86 4.4 、5.1.1、 6.0都可以正常使用qemu启动(测试环境 ubuntu 14.04), android-x86 4.4版本在qemu上启动之后鼠标键盘无响应(这个问题还没有去查);其余版本均可正常操作;


  • 相关阅读:
    docker usage (2)
    Linux command
    Postgresql 教程
    visual env VS conda environment of python
    Django教程(1)
    发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方案(转载http://daydayup1989.iteye.com/blog/784831)
    如何保留小数点后一位
    (四)详解android:scaleType属性
    (三)android布局基础及范例:人人android九宫格布局(转载http://blog.csdn.net/jiabinjlu/article/details/6921008)
    (二)android中在xml文件中使用View在某个控件的上方画一条线;android:listSelector的属性说明;android:visibility="gone"
  • 原文地址:https://www.cnblogs.com/ztguang/p/12646412.html
Copyright © 2020-2023  润新知