准备Android-x86的iso镜像
可以在http://www.android-x86.org/download 处下载
[root@localhost ~]# cd /opt |
准备kvm虚拟化环境
检测是否支持KVM
KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。
[root@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm' |
关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing
修改为 SELinux=disabled
[root@localhost ~]# vi /etc/sysconfig/selinux |
安装 KVM 环境
通过 yum 安装 kvm 基础包和管理工具
kvm相关安装包及其作用:
qemu-kvm
主要的KVM程序包python-virtinst
创建虚拟机所需要的命令行工具和程序库virt-manager
GUI虚拟机管理工具virt-top
虚拟机统计命令virt-viewer
GUI连接程序,连接到已配置好的虚拟机libvirt
C语言工具包,提供libvirt服务libvirt-client
为虚拟客户机提供的C语言工具包virt-install
基于libvirt服务的虚拟机创建命令bridge-utils
创建和管理桥接设备的工具
# 安装 kvm |
开启kvm服务,并且设置其开机自动启动
[root@localhost ~]# systemctl start libvirtd |
查看状态操作结果,如Active: active (running)
,说明运行情况良好
[root@localhost ~]# systemctl status libvirtd |
虚拟化嵌套(VM-in-VM)
安装X86模拟器需要CPU开启虚拟化功能,而KVM虚拟机已经是虚拟机了,虚拟机中的CPU默认情况下不带有虚拟化功能,这就需要nested kvm功能,即可以在虚拟机中再次进行虚拟化(VM-in-VM)。
使用嵌套虚拟化,我们首先要看下当前的系统中有没有配置支持嵌套,查看当前系统是否支持 nested
[root@localhost ~]# systool -m kvm_intel -v | grep -i nested |
Y
: 结果为Y
表示当前的操作系统已经支持了嵌套虚拟化N
: 表示当前操作系统未配置嵌套虚拟化
如果结果为 N,可以通过以下方式开启
开启 nested 方法
编辑或创建文件 /etc/modprobe.d/kvm-nested.conf
,文件包含以下内容:
options kvm_intel nested=1 |
重新加载内核模块
[root@localhost ~]# modprobe -r kvm_intel #协助掉内核中的 kvm_intel 模块,注意要在所有虚拟机都关闭的情况下执行 |
创建kvm虚拟机
创建虚拟机磁盘
[root@localhost ~]# qemu-img create -f raw /opt/android.img 8G |
创建虚拟机
[root@localhost ~]# virt-install \ |
安装Android-x86系统
通过vnc连接宿主机5902端口
看到如下如,表示android x86的镜像已经读取成功,接下来按照虚拟机创建流程来安装系统。
选择Auto_Installation自动安装操作系统到空白磁盘
扫描到磁盘/dev/vda,选择yes继续
看到下图表示安装完毕,选择Run即可进去系统。
可以看到系统已经正常启动,界面如下:
开始初始化,选择START
连接网络,KVM默认会给android生成名称为VritWifi
的WI-FI
配置日期时间
配置google服务
设置密码,这里选择Not now
选择跳过
选择桌面,我这里选择的是Taskbar
点击ALWAYS
,进入桌面后会有个导航栏。
Android 调试桥 (adb)
下载Android SDK Platform-Tools是安卓SDK的一个组件,包括安卓的平台界面工具(如adb、fastboot、systrace)
[root@localhost ~]# wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip |
查看虚拟机IP
[root@localhost ~]# virsh domifaddr android |
连接设备
[root@localhost ~]# adb connect 192.168.122.9:5555 |
查看设备
[root@localhost ~]# adb devices |
安装apk
[root@localhost ~]# adb install v2rayNG_1.1.14.apk |
启动应用
[root@localhost ~]# adb shell am start -n com.v2ray.ang/com.v2ray.ang.ui.MainActivity |