0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開源鴻蒙 編譯OpenHarmony輕量系統(tǒng)QEMU RISC-V版本

碼工雜記 ? 來源:碼工雜記 ? 作者:碼工雜記 ? 2024-07-15 10:36 ? 次閱讀

本文將介紹如何為QEMU RISC-V虛擬平臺構(gòu)建OpenHarmony輕量系統(tǒng)。得益于QEMU的CPU指令集模擬執(zhí)行能力,該方法可以在沒有開發(fā)板的情況下調(diào)試和運行OpenHarmony系統(tǒng)源碼。本文介紹的該方法,可以用于OpenHarmony操作系統(tǒng)源碼的學(xué)習(xí)和研究。

一、背景介紹

QEMU是一個開源的虛擬化平臺,它可以實現(xiàn)目標平臺的CPU指令級別的模擬。因此,可以使用QEMU進行操作系統(tǒng)的學(xué)習(xí)和研究,也可以在沒有硬件的情況下對開發(fā)板進行模擬。

QEMU是一款開源的虛擬機監(jiān)控程序,可模擬多種硬件環(huán)境,并支持多種處理器架構(gòu)。它能夠在不同平臺上實現(xiàn)虛擬化,運行各種操作系統(tǒng)。QEMU具有高度的靈活性和可移植性,被廣泛用于開發(fā)、測試和部署虛擬化環(huán)境。

二、準備OpenHarmony源代碼

開始之前,需要準備:

  • Ubuntu 系統(tǒng)的開發(fā)環(huán)境(可以是物理主機也可以是虛擬機);
  • 下載OpenHarmony 4.1 Release源代碼,參考此前帖子:
    • [【開源鴻蒙】下載 OpenHarmony 4.1 Release 源代碼]

三、準備hb命令

3.1 安裝hb命令

編譯OpenHarmony源碼之前,需要先安裝hb命令。

# 跳轉(zhuǎn)到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環(huán)境變量中,如果是Ubuntu系統(tǒng),需要先檢查~/.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

如果有以上代碼,關(guān)閉當(dāng)前shell會話,重新打開,就可以正常使用hb命令了。

如果沒有~/.profile文件,則可以將以上代碼添加到 ~/.bashrc 文件中。

如果報告Please call hb utilities inside ohos source directory,則是正常的,需要在ohos源碼目錄下執(zhí)行hb命令。

Untitled 2.png

四、編譯RISC-V架構(gòu)的OpenHarmony輕量系統(tǒng)

4.1 設(shè)置hb構(gòu)建目標

開始編譯之前,首先需要設(shè)置hb構(gòu)建的目標產(chǎn)品或開發(fā)板是什么。使用hb set命令,進行交互式設(shè)置。

依次選擇 mini → qemu_riscv_mini_system_demo

Untitled 3.png

Untitled 4.png

設(shè)置完成后,會在源碼目錄的頂層生成 ohos_config.json 文件,內(nèi)容如下:

Untitled 5.png

4.2 啟動hb構(gòu)建過程

使用hb set設(shè)置完目標平臺后,就可以使用hb build命令進行編譯了。

構(gòu)建完成后,輸出如下:

Untitled 6.png

五、問題解決

5.1 hb set 報錯問題解決

如果遇到報錯:cannot import name 'Mapping' from 'collections’

Untitled 7.png

這個報錯是因為Python 3.10中,Mapping已經(jīng)不在collections包中了。

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

手動將 collections 改為 collections.abc 即可。

六、參考鏈接

  1. OpenHarmony官網(wǎng): [https://www.openharmony.cn/]
  2. OpenHarmony編譯形態(tài)整體說明: [https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-appendix-compiledform.md]
  3. OpenHarmony代碼倉: [https://gitee.com/openharmony/]

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3181

    瀏覽量

    42235
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2178

    瀏覽量

    45887
  • qemu
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    5315
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2287

    瀏覽量

    42629
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15956
收藏 人收藏

    評論

    相關(guān)推薦

    RISC-V中***會子活動之一:基于RISC-V鴻蒙開發(fā)板設(shè)計

    RISC-V廠商、研究機構(gòu)及國內(nèi)高校、開源技術(shù)組織。 受RISC-V中***會主辦方邀請,華秋電子聯(lián)合張飛實戰(zhàn)電子舉辦“基于RISC-V鴻蒙
    發(fā)表于 06-03 16:26

    【匯總】OpenHarmony系統(tǒng)開發(fā)目錄和個人感悟

    前言還記得2020年9月OpenHarmony大會后,我開始在社區(qū)寫了一些OpenHarmony系統(tǒng)開發(fā)的文章,基于Hi3861。轉(zhuǎn)眼已
    發(fā)表于 01-20 09:04

    從零移植OpenHarmony系統(tǒng)【1】移植思路

    摘要:本文簡單介紹OpenHarmony系統(tǒng)移植,會分多篇適合群體:想自己動手移植OpenHarmony
    發(fā)表于 01-26 17:18

    從零開始移植OpenHarmony系統(tǒng)

    摘要:本文簡單介紹OpenHarmony系統(tǒng)移植,如何使用移植示例適合群體:想自己動手移植OpenHarmony
    發(fā)表于 02-09 18:58

    每周精選 | 16款RISC-V生態(tài)開發(fā)板開放申請,全志系列項目開源分享

    大家好,電子發(fā)燒友精選一周社區(qū)好帖推送給大家,同時歡迎大家留言推薦更多好帖子,一旦入選將獲得電子發(fā)燒友月度vip獎勵!1、【重磅集結(jié)】16款RISC-V生態(tài)開發(fā)板,同步開放申請試用!推薦理由
    發(fā)表于 04-15 10:32

    我了解的RISC-V

    RISC-V芯片和軟件。雖然這不是第一個開源指令集,但它具有重要意義,因為其設(shè)計使其適用于現(xiàn)代計算設(shè)備(如倉庫規(guī)模云計算機、高端移動電話和微小嵌入式系統(tǒng))。設(shè)計者考慮到了這些用途中的性能與功率效率。該指令集還具
    發(fā)表于 03-19 10:52

    設(shè)備仿真模擬軟件 QEMU 8.0 發(fā)布:改進對 ARM / RISC-V 架構(gòu)支持

    轉(zhuǎn)自https://m.ithome.com/html/690345.htm 開源 QEMU 8.0 設(shè)備仿真器和虛擬化軟件已于 4 月 19 日發(fā)布,為 ARM、RISC-V、x86、s390x
    發(fā)表于 05-05 09:48

    潤開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測評

    近期,江蘇潤開鴻數(shù)字科技有限公司(以下簡稱“潤開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標準系統(tǒng)開發(fā)平臺HH-SCDAYU800通過
    發(fā)表于 12-14 17:33

    OpenHarmony生態(tài)論壇:OpenHarmony與賽昉Risc-V共建開源軟硬件體系

    OpenHarmony生態(tài)論壇:OpenHarmony與賽昉Risc-V共建開源軟硬件體系
    的頭像 發(fā)表于 04-25 16:51 ?1678次閱讀
    <b class='flag-5'>OpenHarmony</b>生態(tài)論壇:<b class='flag-5'>OpenHarmony</b>與賽昉<b class='flag-5'>Risc-V</b>共建<b class='flag-5'>開源</b>軟硬件體系

    【直播預(yù)告】OpenHarmony“芯”進展,RISC-V專場

    OpenHarmony開源3年,即將迎來3.2Release版本,本系列直播將分別從ARM、RISC-V、LoongArch等指令集展開,分享Ope
    的頭像 發(fā)表于 03-28 12:55 ?470次閱讀

    openKylin成功適配VisionFive 2,并推出RISC-V架構(gòu)QEMU版本系統(tǒng)鏡像

    近日,RISC-VSIG成功在VisionFive2開發(fā)板上適配openKylin操作系統(tǒng),同時推出了openKylin系統(tǒng)RISC-V架構(gòu)QEMU
    的頭像 發(fā)表于 03-06 10:41 ?755次閱讀
    openKylin成功適配VisionFive 2,并推出<b class='flag-5'>RISC-V</b>架構(gòu)<b class='flag-5'>QEMU</b><b class='flag-5'>版本系統(tǒng)</b>鏡像

    為什么IAR編譯器對開源ISA:RISC-V業(yè)務(wù)至關(guān)重要?

    為什么IAR編譯器對開源ISA:RISC-V業(yè)務(wù)至關(guān)重要? 演講ppt分享
    發(fā)表于 07-14 17:15 ?2次下載

    潤開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測評

    點擊藍字 ╳ 關(guān)注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 近期,江蘇潤開鴻數(shù)字科技有限公司(以下簡稱“潤開鴻”)基于高性能RISC-V
    的頭像 發(fā)表于 11-30 21:15 ?680次閱讀
    潤開鴻基于高性能<b class='flag-5'>RISC-V</b><b class='flag-5'>開源</b>架構(gòu)DAYU800通過<b class='flag-5'>OpenHarmony</b>兼容性測評

    潤開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測評

    近期,江蘇潤開鴻數(shù)字科技有限公司(以下簡稱“潤開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標準系統(tǒng)開發(fā)平臺HH-SCDAYU800通過
    的頭像 發(fā)表于 12-15 08:02 ?511次閱讀
    潤開鴻基于高性能<b class='flag-5'>RISC-V</b><b class='flag-5'>開源</b>架構(gòu)DAYU800通過<b class='flag-5'>OpenHarmony</b>兼容性測評

    開源鴻蒙】使用QEMU運行OpenHarmony系統(tǒng)

    本文將會介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運行OpenHarmony系統(tǒng)
    的頭像 發(fā)表于 09-14 08:51 ?312次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>】使用<b class='flag-5'>QEMU</b>運行<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>