本文將會介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運行OpenHarmony輕量系統。通過本文,你將會對QEMU和OpenHarmony輕量系統又一個初步的認知,并對如何使用QEMU又一個初步的理解和體會。
一、準備工作
開始之前,需要準備:
- Ubuntu 系統的開發環境(可以是物理主機也可以是虛擬機);
- 下載OpenHarmony 4.0 Release源代碼,參考文章:
- 為QEMU編譯OpenHarmony輕量系統,參考文章:
上一篇文章介紹了如何為QEMU RISC-V虛擬平臺構建OpenHarmony輕量系統。
構建完成后,輸出如下:
1.1 編譯輸出目錄簡介
hb set命令選擇qemu_riscv_mini_system_demo平臺后,hb build命令構建完成后,所有輸出文件將會保存在out/riscv32_virt/qemu_riscv_mini_system_demo 目錄,具體內容如下:
其中,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
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問題:
解決方法:
sudo apt install ninja-build
正常編譯成功之后,可以看到如下輸出:
三、用QEMU運行OpenHarmony輕量系統
編譯成功后,就可以進入本篇文章的正題了——嘗試使用QEMU運行RISC-V虛擬平臺的OpenHarmony輕量系統。
3.1 qemu-run腳本簡介
OpenHarmony頂層目錄,有一個qemu-run的鏈接文件:
它實際指向一個腳本文件:
該腳本用于啟動qemu虛擬機,并加載可執行程序。
3.2 qemu-run腳本參數
腳本qemu-run文件支持一些命令行參數,具體如下:
由于exec默認值已經是正確的可執行程序了,所以直接運行該腳本就可以啟動虛擬機,并運行OpenHarmony輕量系統。
3.3 qemu-run運行效果
前面介紹過,由于已經使用hb build編譯成功了,直接運行qemu-run,就可以運行RISC-V虛擬平臺的OpenHarmony輕量系統。
運行后,可以看到啟動日志:
成功看到OpenHarmony系統啟動日志了,可喜可賀!
3.4 退出QEMU交互模式
qemu-run默認會進入QEMU交互模式,退出需要使用: Ctrl+A,然后再按X鍵 。
四、問題解決
首次運行qemu-run腳本,可能會遇到報錯 libncursesw.so.5 找不到:
解決方法:
sudo apt install libncursesw5
五、參考鏈接
- 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/
- OpenHarmony riscv32_virt說明:https://gitee.com/openharmony/device_qemu/tree/HEAD/riscv32_virt
-
RISC-V
+關注
關注
46文章
2431瀏覽量
47758 -
qemu
+關注
關注
0文章
57瀏覽量
5564 -
鴻蒙
+關注
關注
57文章
2462瀏覽量
43543 -
OpenHarmony
+關注
關注
26文章
3789瀏覽量
17602
發布評論請先 登錄
相關推薦
基于 OpenHarmony,國內首個輕鴻蒙手表 OS 發行版出爐
【熱門直播】移植OpenHarmony輕量系統到龍芯1c300芯片
從零開始移植OpenHarmony輕量系統
OpenHarmony輕量與小型系統入門概述
openharmony和鴻蒙區別
OpenHarmony Dev-Board-SIG專場:ARM架構和MIPS架構移植OpenHarmony輕量系統

OpenHarmony Dev-Board-SIG專場:MIPS架構移植OpenHarmony輕量系統展示

評論