本文将介绍如何为QEMURISC-V虚拟平台构建OpenHarmony轻量系统。得益于QEMU的CPU指令集模拟执行能力,该方法可以在没有开发板的情况下调试和运行OpenHarmony系统源码。本文介绍的该方法,可以用于OpenHarmony操作系统源码的学习和研究。
一、背景介绍
QEMU是一个开源的虚拟化平台,它可以实现目标平台的CPU指令级别的vwin 。因此,可以使用QEMU进行操作系统的学习和研究,也可以在没有硬件的情况下对开发板进行模拟。
QEMU是一款开源的虚拟机监控程序,可模拟多种硬件环境,并支持多种处理器架构。它能够在不同平台上实现虚拟化,运行各种操作系统。QEMU具有高度的灵活性和可移植性,被广泛用于开发、测试和部署虚拟化环境。
二、准备OpenHarmony源代码
开始之前,需要准备:
- Ubuntu 系统的开发环境(可以是物理主机也可以是虚拟机);
- 下载OpenHarmony 4.1 Release源代码,参考此前帖子:
- [【开源鸿蒙】下载 OpenHarmony 4.1 Release 源代码]
三、准备hb命令
3.1 安装hb命令
编译OpenHarmony源码之前,需要先安装hb命令。
# 跳转到OpenHarmony源码目录,例如上一篇文章介绍的 OpenHarmony 4.0 Releasecdohos/openharmony# 如果没有pip 命令,则需要先安装python3-pip# sudo apt installpython3-pip# 安装 hb 命令:pip install build/hb
安装成功如下图所示:
3.2 检查hb命令
安装完成后,可以通过 hb help命令测试是否可以正常使用。
如果报告 command not found,如下图所示:
则表明hb所在目录没有加到PATH环境变量中,如果是Ubuntu系统,需要先检查~/.profile文件是否存在,并检查其中是否有如下代码:
# set PATH so it includes user's private bin if it existsif[ -d"$HOME/.local/bin"] ;thenPATH="$HOME/.local/bin:$PATH"fi
如果有以上代码,关闭当前shell会话,重新打开,就可以正常使用hb命令了。
如果没有~/.profile文件,则可以将以上代码添加到 ~/.bashrc 文件中。
如果报告Please call hb utilities inside ohos source directory,则是正常的,需要在ohos源码目录下执行hb命令。
四、编译RISC-V架构的OpenHarmony轻量系统
4.1 设置hb构建目标
开始编译之前,首先需要设置hb构建的目标产品或开发板是什么。使用hb set命令,进行交互式设置。
依次选择 mini → qemu_riscv_mini_system_demo
设置完成后,会在源码目录的顶层生成 ohos_config.json 文件,内容如下:
4.2 启动hb构建过程
使用hb set设置完目标平台后,就可以使用hb build命令进行编译了。
构建完成后,输出如下:
五、问题解决
5.1 hb set 报错问题解决
如果遇到报错:cannot import name 'Mapping' from 'collections’
这个报错是因为Python 3.10中,Mapping已经不在collections包中了。
解决方法,修改文件: ~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py
手动将 collections 改为 collections.abc 即可。
六、参考链接
- OpenHarmony官网: [https://www.openharmony.cn/]
- OpenHarmony编译形态整体说明: [https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-appendix-compiledform.md]
- OpenHarmony代码仓: [https://gitee.com/openharmony/]
审核编辑 黄宇
- 开源
+关注
关注
3文章
3100浏览量
41986 - RISC-V
+关注
关注
43文章
2100浏览量
45596 - qemu
+关注
关注
0文章
56浏览量
5289 - 鸿蒙
+关注
关注
56文章
2262浏览量
42433 - OpenHarmony
+关注
关注
25文章
3517浏览量
15638
发布评论请先登录
相关推荐
RISC-V中***会子活动之一:基于RISC-V的鸿蒙开发板设计
【汇总】OpenHarmony轻量系统开发目录和个人感悟
从零移植OpenHarmony轻量系统【1】移植思路
从零开始移植OpenHarmony轻量系统
每周精选 | 16款RISC-V生态开发板开放申请,全志系列项目开源分享
我了解的RISC-V
设备仿真模拟软件QEMU8.0 发布:改进对 ARM /RISC-V架构支持
润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评
【直播预告】OpenHarmony“芯”进展,RISC-V专场
openKylin成功适配VisionFive 2,并推出RISC-V架构QEMU版本系统镜像

润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

评论