
OpenHarmony ——Qemu ARM Virt 教程
Qemu ARM Virt 教程
1. 简介
arm/
子目录包含部分Qemu ARM虚拟化平台验证的OpenHarmony kernel_liteos_a的代码,目录名为virt。 ARM 虚拟化平台是一个 qemu-system-arm
的目标设备,通过它来模拟一个通用的、基于ARM架构的单板。 Qemu中machine为 virt 的单板就是这种可配置的,例如:选择核的类型、核的个数、内存的大小和安全特性等,单板设备的配置。
这次模拟的配置是:Cortex-A7架构,1个CPU,带安全扩展,GICv2,1G内存。 提示: 系统内存硬编码为32MB。
2. 环境搭建
参考环境搭建相关文章
3. 获取源码
提示: 可以使用 repo
命令来获取源码。
4. 源码构建
在已经获取的源码根目录,请输入:
完成根目录设置后,在device/qemu/arm_virt目录下进行构建:
这个命令构建会产生 OHOS_Image.bin
的镜像文件。 提示:"debug" 构建类型是当前的默认类型,因为参考其他构建类型,它包含Shell的App,当前没有release版本。
在构建完成之后,对应的镜像文件在如下目录:
5. 在Qemu中运行镜像
a) 如果没有安装 qemu-system-arm
,安装请参考链接 Qemu installation
提示: 当前引入的功能在virt-5.1的目标machine已经测试过了,不能保证所有的Qemu版本都能够运行成功,因此需要保证你的qemu-system-arm版本尽可能的新。
b) 准备flash映像文件。目前系统硬编码flash容量64M,分三个分区:分区一10M-256K用于内核映像,分区二256K用于启动参数,分区三54M用于rootfs。Linux系统可参考如下命令:
提示:bootargs中仅rootsize可调整,分区三rootsize以外空间安装在/storage目录,可读可写。
c) 配置主机网桥设备。Linux系统可参考以下命令:
提示:系统网络硬编码为10.0.2.0/24,网关10.0.2.2,默认网址10.0.2.15。不同的客户机实例应使用不同的MAC和IP地址(flash映像文件也最好不同),MAC地址可通过QEMU命令行传递,IP地址可在OHOS命令行中调整,如ifconfig vn0 inet 10.0.2.30
,或使用其它方法。
d) 运行qemu-system-arm
,进入用户态命令行。
提示: OHOS 构建名 qemu_arm_virt_ca7 来源于上述提到的命令。
