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

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

3天内不再提示

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

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

本文将介绍如何为QEMU RISC-V虚拟平台构建OpenHarmony轻量系统。得益于QEMU的CPU指令集模拟执行能力,该方法可以在没有开发板的情况下调试和运行OpenHarmony系统源码。本文介绍的该方法,可以用于OpenHarmony操作系统源码的学习和研究。

一、背景介绍

QEMU是一个开源的虚拟化平台,它可以实现目标平台的CPU指令级别的模拟。因此,可以使用QEMU进行操作系统的学习和研究,也可以在没有硬件的情况下对开发板进行模拟。

QEMU是一款开源的虚拟机监控程序,可模拟多种硬件环境,并支持多种处理器架构。它能够在不同平台上实现虚拟化,运行各种操作系统。QEMU具有高度的灵活性和可移植性,被广泛用于开发、测试和部署虚拟化环境。

二、准备OpenHarmony源代码

开始之前,需要准备:

  • Ubuntu 系统的开发环境(可以是物理主机也可以是虚拟机);
  • 下载OpenHarmony 4.1 Release源代码,参考此前帖子:
    • [【开源鸿蒙】下载 OpenHarmony 4.1 Release 源代码]

三、准备hb命令

3.1 安装hb命令

编译OpenHarmony源码之前,需要先安装hb命令。

# 跳转到OpenHarmony源码目录,例如上一篇文章介绍的 OpenHarmony 4.0 Release
cd ohos/openharmony

# 如果没有 pip 命令,则需要先安装 python3-pip
# sudo apt install python3-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 exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$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/]

审核编辑 黄宇

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

    关注

    3

    文章

    3115

    浏览量

    42028
  • RISC-V
    +关注

    关注

    44

    文章

    2131

    浏览量

    45651
  • qemu
    +关注

    关注

    0

    文章

    56

    浏览量

    5293
  • 鸿蒙
    +关注

    关注

    56

    文章

    2264

    浏览量

    42451
  • OpenHarmony
    +关注

    关注

    25

    文章

    3531

    浏览量

    15684
收藏 人收藏

    评论

    相关推荐

    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生态开发板开放申请,全志系列项目开源分享

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

    我了解的RISC-V

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

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

    转自https://m.ithome.com/html/690345.htm 开源 QEMU 8.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 893次阅读

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

    OpenHarmony生态论坛:OpenHarmony与赛昉Risc-V共建开源软硬件体系
    的头像 发表于 04-25 16:51 1634次阅读
    <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 433次阅读

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

    近日,RISC-VSIG成功在VisionFive2开发板上适配openKylin操作系统,同时推出了openKylin系统RISC-V架构QEMU
    的头像 发表于 03-06 10:41 707次阅读
    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 603次阅读
    润开鸿基于高性能<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 436次阅读
    润开鸿基于高性能<b class='flag-5'>RISC-V</b><b class='flag-5'>开源</b>架构DAYU800通过<b class='flag-5'>OpenHarmony</b>兼容性测评