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

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

3天内不再提示

【开源鸿蒙】使用QEMU运行OpenHarmony轻量系统

码工杂记 来源:码工杂记 作者:码工杂记 2024-09-14 08:51 次阅读

本文将会介绍如何从源码安装QEMU 6.2.0,以及如何使用QEMU运行OpenHarmony轻量系统。通过本文,你将会对QEMU和OpenHarmony轻量系统又一个初步的认知,并对如何使用QEMU又一个初步的理解和体会。

一、准备工作

开始之前,需要准备:

上一篇文章介绍了如何为QEMU RISC-V虚拟平台构建OpenHarmony轻量系统。

构建完成后,输出如下:

Untitled

1.1 编译输出目录简介

hb set命令选择qemu_riscv_mini_system_demo平台后,hb build命令构建完成后,所有输出文件将会保存在out/riscv32_virt/qemu_riscv_mini_system_demo 目录,具体内容如下:

Untitled

其中,OHOS_Image就是本文将要运行的RISC-V平台的OpenHarmony轻量系统ELF文件。

二、QEMU安装

按照如下步骤,从源码安装QEMU 6.2.0版本。

2.1 安装依赖

sudo apt install build-essential zlib1g-dev pkg-config libglib2.0-dev  binutils-dev libboost-all-dev autoconf libtool libssl-dev libpixman-1-dev virtualenv flex bison

2.2 获取源码

wget https://download.qemu.org/qemu-6.2.0.tar.xz

官网下载: qemu-6.2.0.tar.xz

2.3 编译安装

# 解压源码包
tar -xf qemu-6.2.0.tar.xz

# 跳转到源码解压后目录
cd qemu-6.2.0

# 创建构建目录,用于存放中间文件
mkdir build && cd build

# 创建qemu安装目录,也可以改为其他目录
sudo mkdir /usr/qemu/

# 配置源码,生成构建规则文件
# --prefix 参数指定安装目录
../configure --prefix=/usr/eqmu/

# 开始构建,8个并发任务
make -j8

等待编译结束, 执行安装命令:

make install

最后将安装路径添加到环境变量中:

vim ~/.bashrc

在~/.bashrc最末尾加入:

export PATH=$PATH:/usr/qemu/bin

2.4 问题解决

上一小节描述的步骤中,可能出现一些问题,本节介绍如何解决常见的问题。

Cannot find Ninja问题:

Untitled

解决方法:

sudo apt install ninja-build

正常编译成功之后,可以看到如下输出:

Untitled

三、用QEMU运行OpenHarmony轻量系统

编译成功后,就可以进入本篇文章的正题了——尝试使用QEMU运行RISC-V虚拟平台的OpenHarmony轻量系统。

3.1 qemu-run脚本简介

OpenHarmony顶层目录,有一个qemu-run的链接文件:

Untitled

它实际指向一个脚本文件:

Untitled

该脚本用于启动qemu虚拟机,并加载可执行程序。

3.2 qemu-run脚本参数

脚本qemu-run文件支持一些命令行参数,具体如下:

Untitled

由于exec默认值已经是正确的可执行程序了,所以直接运行该脚本就可以启动虚拟机,并运行OpenHarmony轻量系统。

3.3 qemu-run运行效果

前面介绍过,由于已经使用hb build编译成功了,直接运行qemu-run,就可以运行RISC-V虚拟平台的OpenHarmony轻量系统。

运行后,可以看到启动日志:

Untitled

Untitled

成功看到OpenHarmony系统启动日志了,可喜可贺!

3.4 退出QEMU交互模式

qemu-run默认会进入QEMU交互模式,退出需要使用: Ctrl+A,然后再按X键

四、问题解决

首次运行qemu-run脚本,可能会遇到报错 libncursesw.so.5 找不到:

Untitled

解决方法:

sudo apt install libncursesw5

五、参考链接

  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/
  4. OpenHarmony riscv32_virt说明:https://gitee.com/openharmony/device_qemu/tree/HEAD/riscv32_virt
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC-V
    +关注

    关注

    44

    文章

    2227

    浏览量

    46000
  • qemu
    +关注

    关注

    0

    文章

    57

    浏览量

    5330
  • 鸿蒙
    +关注

    关注

    57

    文章

    2306

    浏览量

    42728
  • OpenHarmony
    +关注

    关注

    25

    文章

    3657

    浏览量

    16128
收藏 人收藏

    评论

    相关推荐

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

    本文将介绍如何为QEMU RISC-V虚拟平台构建OpenHarmony系统。得益于QEMU
    的头像 发表于 07-15 10:36 978次阅读
    <b class='flag-5'>开源</b><b class='flag-5'>鸿蒙</b> 编译<b class='flag-5'>OpenHarmony</b><b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b><b class='flag-5'>QEMU</b> RISC-V版本

    基于 OpenHarmony,国内首个鸿蒙手表 OS 发行版出炉

    OpenHarmony 和众多国产芯片、核心元器件的适配工作,解决系统级性能优化、功耗优化等问题。好叭 CEO 袁潜龙向 InfoQ 介绍称,本次发布的鸿蒙手表发行版的“
    发表于 11-16 14:14

    【热门直播】移植OpenHarmony系统到龙芯1c300芯片

    OpenHarmony系统BSP移植步骤(3)龙芯GS232 处理器核ARCH移植步骤(4)OpenHarmony龙芯点灯实验(5)
    发表于 12-20 16:05

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

    接入OpenHarmony系统开发【13】鸿蒙小车开发OpenHarmony
    发表于 01-20 09:04

    从零开始移植OpenHarmony系统

    内核移植到ARM单片机上,现在代码开源、移植文章也完成7篇,后续会考虑增加视频讲解,直播。以便大家也可以自己移植。移植文章:移植OpenHarmony
    发表于 02-09 18:58

    OpenHarmony与小型系统入门概述

    简介 OpenHarmony和小型系统适用于内存较小的IOT设备(参考内存≥128KiB)。通过本文,开发者可以快速熟悉OpenHarmony
    发表于 05-06 15:48

    openharmony鸿蒙区别

    OpenHarmony是HarmonyOS的开源版。 华为的鸿蒙操作系统是纯自己研发的,但是openharmony却不是华为的,
    的头像 发表于 06-24 16:21 4088次阅读

    openharmony官网和鸿蒙

    openharmony官网和鸿蒙 OpenHarmony(开源鸿蒙系统)是HarmonyOS的
    的头像 发表于 06-21 19:50 2536次阅读

    OpenHarmony Dev-Board-SIG专场:ARM架构和MIPS架构移植OpenHarmony系统

    OpenHarmony Dev-Board-SIG专场:ARM架构和MIPS架构移植OpenHarmony系统
    的头像 发表于 12-28 16:00 1842次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:ARM架构和MIPS架构移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b>

    OpenHarmony Dev-Board-SIG专场:MIPS架构移植OpenHarmony系统展示

    OpenHarmony Dev-Board-SIG专场:MIPS构架移植OpenHarmony系统展示
    的头像 发表于 12-28 16:07 1465次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:MIPS架构移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b>展示

    OpenHarmony系统、小型系统、标准系统的差异

    本文简单介绍OpenHarmony系统、小型系统、标准系统的差异,以及相关的官方资料和文档
    的头像 发表于 01-24 14:47 5884次阅读
    <b class='flag-5'>OpenHarmony</b>、<b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b>、小型<b class='flag-5'>系统</b>、标准<b class='flag-5'>系统</b>的差异

    关于OpenHarmony系统开发

    还记得2020年9月OpenHarmony大会后,我开始在社区写了一些OpenHarmony系统开发的文章,基于Hi3861。
    的头像 发表于 01-24 14:54 1835次阅读

    如何移植OpenHarmony系统

    摘要:本文简单介绍OpenHarmony系统移植,会分多篇
    的头像 发表于 02-25 12:14 2984次阅读
    如何移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b>

    OpenHarmony系统开发【1】初始OH

    本文简单介绍OpenHarmony系统、小型系统、标准系统的差异,以及相关的官方资料和文档
    发表于 02-25 17:49 967次阅读

    OpenHarmony系统书籍推荐《OpenHarmony设备开发理论与实战》

    最近大家问的智能家居套件方面有没有可以参考的资料,这里给大家统一回复一下 推荐大家可以看这本书 《OpenHarmony设备开发理论与实战》 本书系统地讲授
    的头像 发表于 07-20 12:43 1146次阅读