体验开源OpenHarmony+stratovirt模拟器

文档

openharmony社区

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,

目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
QEMU社区

QEMU(Quick EMUlator)是一种开源的虚拟机监视器和模拟器,它可以模拟多个硬件平台,包括x86、ARM、PowerPC等。
strtovirt社区

StratoVirt是华为使用Rust语言开发的虚拟机,在架构设计和接口上预留了组件化拼装的能力和接口,StratoVirt可以按需灵活组装高级特性直至演化到支持标准虚拟化。
OpenHarmony 教学版

上海交大开发适用于教学的开放平台,完善了OpenHarmony OS 对 QEMU 模拟器的适配,旨在形成开箱即用的实验平台。

亮点

都是开源的,国产化程度高,自由度非常大,个人体验可以任意修改,可以用于学习、科研,普通用户做个玩具看看也行,运行平台支持通用的x86台式电脑或笔记本,若要分发遵从附属协议即可。

编译 qemu

复制代码
wget https://download.qemu.org/qemu-9.0.0.tar.xz
tar -xvf /qemu-9.0.0.tar.xz
cd qemu-9.0.0
mkdir build
cd build

sudo apt install ninja-build \
libglib2.0-dev \
libgnutls28-dev \
libsdl2-dev \
libvirglrenderer-dev \
libepoxy-dev

../configure --prefix=/usr/local --sysconfdir=/etc --target-list=arm-softmmu,arm-linux-user,aarch64-softmmu,aarch64-linux-user,riscv64-softmmu,riscv64-linux-user,riscv32-softmmu,riscv32-linux-user,x86_64-softmmu,xtensa-softmmu,xtensaeb-softmmu --audio-drv-list="sdl,pa,alsa" \
--enable-tools  --enable-gnutls \
--enable-virtfs --enable-opengl --enable-virglrenderer --enable-sdl

make -j16

编译 stratovirt

复制代码
git clone https://gitee.com/openeuler/stratovirt.git
cd stratovirt
vim Makeifle 
# delete deb
make build
# rust
cargo build --workspace --bins --release --features "scream_alsa" --features "virtio_gpu" --features "gtk" --features "usb_host" --features "vnc" 

编译 openharmony

复制代码
repo init -u https://gitee.com/open-harmony-edu-dist/manifest -b refs/heads/OpenHarmony-5.0.2-Release --no-repo-verify
repo sync -c && repo forall -c 'git lfs pull'
build/prebuilts_download.sh

./build.sh --product-name arm64_virt

运行

基本操作完成后,就可以实际体验了。

qemu

复制代码
sudo ./vendor/edu/x86_64_virt/qemu_run.sh

strtovirt

复制代码
sudo stratovirt  -machine q35,accel=kvm -m 4G -smp 4 -cpu host 
#后面参数自行添加

功能小结

支持图形界面

支持音频播放

支持鼠标操作

支持键盘操作

支持物理网络

支持虚拟网络

支持物理WIFI

支持虚拟WIFI

支持摄像拍照

支持USB设备

支持安装野生app

支持调试hdcd

附图

相关推荐
Jahzo28 分钟前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Jahzo2 小时前
openclaw本地化部署体验与踩坑记录--windows
开源·全栈
蚂蚁背大象3 小时前
Rust 所有权系统是为了解决什么问题
后端·rust
布列瑟农的星空4 小时前
前端都能看懂的rust入门教程(五)—— 所有权
rust
冬奇Lab6 小时前
一天一个开源项目(第39篇):PandaWiki - AI 驱动的开源知识库搭建系统
人工智能·开源·资讯
HelloGitHub7 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
Kagol18 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
冬奇Lab19 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab19 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
sunny86521 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github