本文将会介绍如何从源码安装QEMU 6.2.0,以及如何使用QEMU运行OpenHarmony轻量系统。通过本文,你将会对QEMU和OpenHarmony轻量系统又一个初步的认知,并对如何使用QEMU又一个初步的理解和体会。
开始之前,需要准备:
上一篇文章介绍了如何为QEMU RISC-V虚拟平台构建OpenHarmony轻量系统。
构建完成后,输出如下:
hb set命令选择qemu_riscv_mini_system_demo平台后,hb build命令构建完成后,所有输出文件将会保存在out/riscv32_virt/qemu_riscv_mini_system_demo 目录,具体内容如下:
其中,OHOS_Image就是本文将要运行的RISC-V平台的OpenHarmony轻量系统ELF文件。
按照如下步骤,从源码安装QEMU 6.2.0版本。
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
wget https://download.qemu.org/qemu-6.2.0.tar.xz
# 解压源码包
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
上一小节描述的步骤中,可能出现一些问题,本节介绍如何解决常见的问题。
Cannot find Ninja问题:
解决方法:
sudo apt install ninja-build
正常编译成功之后,可以看到如下输出:
编译成功后,就可以进入本篇文章的正题了——尝试使用QEMU运行RISC-V虚拟平台的OpenHarmony轻量系统。
OpenHarmony顶层目录,有一个qemu-run的链接文件:
它实际指向一个脚本文件:
该脚本用于启动qemu虚拟机,并加载可执行程序。
脚本qemu-run文件支持一些命令行参数,具体如下:
由于exec默认值已经是正确的可执行程序了,所以直接运行该脚本就可以启动虚拟机,并运行OpenHarmony轻量系统。
前面介绍过,由于已经使用hb build编译成功了,直接运行qemu-run,就可以运行RISC-V虚拟平台的OpenHarmony轻量系统。
运行后,可以看到启动日志:
成功看到OpenHarmony系统启动日志了,可喜可贺!
qemu-run默认会进入QEMU交互模式,退出需要使用: Ctrl+A,然后再按X键 。
首次运行qemu-run脚本,可能会遇到报错 libncursesw.so.5 找不到:
解决方法:
sudo apt install libncursesw5
全部0条评论
快来发表一下你的评论吧 !