本文將會介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運行OpenHarmony輕量系統(tǒng)。通過本文,你將會對QEMU和OpenHarmony輕量系統(tǒng)又一個初步的認知,并對如何使用QEMU又一個初步的理解和體會。
一、準備工作
開始之前,需要準備:
- Ubuntu 系統(tǒng)的開發(fā)環(huán)境(可以是物理主機也可以是虛擬機);
- 下載OpenHarmony 4.0 Release源代碼,參考文章:
- 為QEMU編譯OpenHarmony輕量系統(tǒng),參考文章:
上一篇文章介紹了如何為QEMU RISC-V虛擬平臺構(gòu)建OpenHarmony輕量系統(tǒng)。
構(gòu)建完成后,輸出如下:
1.1 編譯輸出目錄簡介
hb set命令選擇qemu_riscv_mini_system_demo平臺后,hb build命令構(gòu)建完成后,所有輸出文件將會保存在out/riscv32_virt/qemu_riscv_mini_system_demo 目錄,具體內(nèi)容如下:
其中,OHOS_Image就是本文將要運行的RISC-V平臺的OpenHarmony輕量系統(tǒng)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
或官網(wǎng)下載: qemu-6.2.0.tar.xz
2.3 編譯安裝
# 解壓源碼包
tar -xf qemu-6.2.0.tar.xz
# 跳轉(zhuǎn)到源碼解壓后目錄
cd qemu-6.2.0
# 創(chuàng)建構(gòu)建目錄,用于存放中間文件
mkdir build && cd build
# 創(chuàng)建qemu安裝目錄,也可以改為其他目錄
sudo mkdir /usr/qemu/
# 配置源碼,生成構(gòu)建規(guī)則文件
# --prefix 參數(shù)指定安裝目錄
../configure --prefix=/usr/eqmu/
# 開始構(gòu)建,8個并發(fā)任務(wù)
make -j8
等待編譯結(jié)束, 執(zhí)行安裝命令:
make install
最后將安裝路徑添加到環(huán)境變量中:
vim ~/.bashrc
在~/.bashrc最末尾加入:
export PATH=$PATH:/usr/qemu/bin
2.4 問題解決
上一小節(jié)描述的步驟中,可能出現(xiàn)一些問題,本節(jié)介紹如何解決常見的問題。
Cannot find Ninja問題:
解決方法:
sudo apt install ninja-build
正常編譯成功之后,可以看到如下輸出:
三、用QEMU運行OpenHarmony輕量系統(tǒng)
編譯成功后,就可以進入本篇文章的正題了——嘗試使用QEMU運行RISC-V虛擬平臺的OpenHarmony輕量系統(tǒng)。
3.1 qemu-run腳本簡介
OpenHarmony頂層目錄,有一個qemu-run的鏈接文件:
它實際指向一個腳本文件:
該腳本用于啟動qemu虛擬機,并加載可執(zhí)行程序。
3.2 qemu-run腳本參數(shù)
腳本qemu-run文件支持一些命令行參數(shù),具體如下:
由于exec默認值已經(jīng)是正確的可執(zhí)行程序了,所以直接運行該腳本就可以啟動虛擬機,并運行OpenHarmony輕量系統(tǒng)。
3.3 qemu-run運行效果
前面介紹過,由于已經(jīng)使用hb build編譯成功了,直接運行qemu-run,就可以運行RISC-V虛擬平臺的OpenHarmony輕量系統(tǒng)。
運行后,可以看到啟動日志:
成功看到OpenHarmony系統(tǒng)啟動日志了,可喜可賀!
3.4 退出QEMU交互模式
qemu-run默認會進入QEMU交互模式,退出需要使用: Ctrl+A,然后再按X鍵 。
四、問題解決
首次運行qemu-run腳本,可能會遇到報錯 libncursesw.so.5 找不到:
解決方法:
sudo apt install libncursesw5
五、參考鏈接
- OpenHarmony官網(wǎng): https://www.openharmony.cn/
- OpenHarmony編譯形態(tài)整體說明: 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
+關(guān)注
關(guān)注
44文章
2233瀏覽量
46045 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5334 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2321瀏覽量
42749 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3665瀏覽量
16161
發(fā)布評論請先 登錄
相關(guān)推薦
評論