0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开源鸿蒙 编译OpenHarmony轻量系统QEMU RISC-V版本

码工杂记 来源:码工杂记 作者:码工杂记 2024-07-15 10:36 次阅读

本文将介绍如何为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

安装成功如下图所示:

Untitled.png

3.2 检查hb命令

安装完成后,可以通过 hb help命令测试是否可以正常使用。

如果报告 command not found,如下图所示:

Untitled 1.png

则表明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命令。

Untitled 2.png

四、编译RISC-V架构的OpenHarmony轻量系统

4.1 设置hb构建目标

开始编译之前,首先需要设置hb构建的目标产品或开发板是什么。使用hb set命令,进行交互式设置。

依次选择 mini → qemu_riscv_mini_system_demo

Untitled 3.png

Untitled 4.png

设置完成后,会在源码目录的顶层生成 ohos_config.json 文件,内容如下:

Untitled 5.png

4.2 启动hb构建过程

使用hb set设置完目标平台后,就可以使用hb build命令进行编译了。

构建完成后,输出如下:

Untitled 6.png

五、问题解决

5.1 hb set 报错问题解决

如果遇到报错:cannot import name 'Mapping' from 'collections’

Untitled 7.png

这个报错是因为Python 3.10中,Mapping已经不在collections包中了。

解决方法,修改文件: ~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py

手动将 collections 改为 collections.abc 即可。

六、参考链接

  1. OpenHarmony官网: [https://www.openharmony.cn/]
  2. OpenHarmony编译形态整体说明: [https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-appendix-compiledform.md]
  3. OpenHarmony代码仓: [https://gitee.com/openharmony/]

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3100

    浏览量

    41986
  • RISC-V
    +关注

    关注

    43

    文章

    2100

    浏览量

    45596
  • qemu
    +关注

    关注

    0

    文章

    56

    浏览量

    5289
  • 鸿蒙
    +关注

    关注

    56

    文章

    2262

    浏览量

    42433
  • OpenHarmony
    +关注

    关注

    25

    文章

    3517

    浏览量

    15638
收藏 人收藏

    评论

    相关推荐

    RISC-V中***会子活动之一:基于RISC-V鸿蒙开发板设计

    RISC-V厂商、研究机构及国内高校、 开源技术组织。 受 RISC-V中***会主办方邀请,华秋电子联合张飞实战电子举办“基于 RISC-V鸿蒙
    发表于06-03 16:26

    【汇总】OpenHarmony系统开发目录和个人感悟

    前言还记得2020年9月 OpenHarmony大会后,我开始在社区写了一些 OpenHarmony 系统开发的文章,基于Hi3861。转眼已
    发表于01-20 09:04

    从零移植OpenHarmony系统【1】移植思路

    摘要:本文简单介绍 OpenHarmony 系统移植,会分多篇适合群体:想自己动手移植 OpenHarmony
    发表于01-26 17:18

    从零开始移植OpenHarmony系统

    摘要:本文简单介绍 OpenHarmony 系统移植,如何使用移植示例适合群体:想自己动手移植 OpenHarmony
    发表于02-09 18:58

    每周精选 | 16款RISC-V生态开发板开放申请,全志系列项目开源分享

    大家好,德赢Vwin官网 精选一周社区好帖推送给大家,同时欢迎大家留言推荐更多好帖子,一旦入选将获得德赢Vwin官网 月度vip奖励!1、【重磅集结】16款 RISC-V生态开发板,同步开放申请试用!推荐理由
    发表于04-15 10:32

    我了解的RISC-V

    RISC-V芯片和软件。虽然这不是第一个 开源指令集,但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式 系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具
    发表于03-19 10:52

    设备仿真模拟软件QEMU8.0 发布:改进对 ARM /RISC-V架构支持

    转自https://m.ithome.com/html/690345.htm 开源 QEMU8.0 设备仿真器和虚拟化软件已于 4 月 19 日发布,为 ARM、 RISC-V、x86、s390x
    发表于05-05 09:48

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

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能 RISC-V 开源架构处理器研发的 OpenHarmony标准 系统开发平台HH-SCDAYU800通过
    发表于12-14 17:33

    OpenHarmony系统开发【1】初始OH

    系统开发【3】代码 编译和烧录 OpenHarmony
    发表于02-25 17:49 887次阅读

    OpenHarmony生态论坛:OpenHarmony与赛昉Risc-V共建开源软硬件体系

    OpenHarmony生态论坛: OpenHarmony与赛昉 Risc-V共建 开源软硬件体系
    的头像 发表于04-25 16:51 1612次阅读
    <b class='flag-5'>OpenHarmony</b>生态论坛:<b class='flag-5'>OpenHarmony</b>与赛昉<b class='flag-5'>Risc-V</b>共建<b class='flag-5'>开源</b>软硬件体系

    【直播预告】OpenHarmony“芯”进展,RISC-V专场

    OpenHarmony 开源3年,即将迎来3.2Release 版本,本系列直播将分别从ARM、 RISC-V、LoongArch等指令集展开,分享 Ope
    的头像 发表于03-28 12:55 428次阅读

    openKylin成功适配VisionFive 2,并推出RISC-V架构QEMU版本系统镜像

    近日, RISC-VSIG成功在VisionFive2开发板上适配openKylin操作 系统,同时推出了openKylin 系统 RISC-V架构 QEMU
    的头像 发表于03-06 10:41 686次阅读
    openKylin成功适配VisionFive 2,并推出<b class='flag-5'>RISC-V</b>架构<b class='flag-5'>QEMU</b><b class='flag-5'>版本系统</b>镜像

    为什么IAR编译器对开源ISA:RISC-V业务至关重要?

    为什么IAR 编译器对 开源ISA: RISC-V业务至关重要? 演讲ppt分享
    发表于07-14 17:15 2次下载

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

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony是每个人的 OpenHarmony近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能 RISC-V
    的头像 发表于11-30 21:15 585次阅读
    润开鸿基于高性能<b class='flag-5'>RISC-V</b><b class='flag-5'>开源</b>架构DAYU800通过<b class='flag-5'>OpenHarmony</b>兼容性测评

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

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能 RISC-V 开源架构处理器研发的 OpenHarmony标准 系统开发平台HH-SCDAYU800通过
    的头像 发表于12-15 08:02 418次阅读
    润开鸿基于高性能<b class='flag-5'>RISC-V</b><b class='flag-5'>开源</b>架构DAYU800通过<b class='flag-5'>OpenHarmony</b>兼容性测评