# EduDist_Docs **Repository Path**: SSRVodka/EduDist_Docs ## Basic Information - **Project Name**: EduDist_Docs - **Description**: OpenHarmony-EduDist Documentation - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-01-22 - **Last Updated**: 2025-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenHarmony-EduDist 文档 ### 介绍 OpenHarmony 教学版。完善 OpenHarmony OS 对 QEMU 模拟器的适配,旨在形成开箱即用的实验平台。 主仓:[manifest](https://gitee.com/open-harmony-edu-dist/manifest); 主要支持: - QEMU 模拟器直接运行; - 支持多种体系架构(AArch64/x86_64/RISC-V); - Docker 配套编译和启动环境; - 分布式软总线应用; 文档主要分为 3 个部分: - OH Edu Dist 的快速开始; - 镜像编译文档; - 常见问题; ### OH Edu Dist 快速开始 #### QEMU 虚拟机运行 相关仓库:[vendor_edu](https://gitee.com/open-harmony-edu-dist/vendor_edu); ##### Linux (宿主机) 1. 首先直接下载编译完成的镜像(开箱即用方案),或者编译获得 OH QEMU 镜像(参见下一节 “OH Edu 镜像编译”)。 2. 然后拉下 `vendor_edu` 仓,修改 `qemu_run.sh` 中的镜像目录为编译完成/下载的镜像根目录位置: ```shell git clone https://gitee.com/open-harmony-edu-dist/vendor_edu # 修改镜像目录的位置为你实际的镜像位置 vim ./vendor/edu/x86_64_virt/qemu_run.sh ``` 如果你自行编译了镜像,那么在源码目录的 `vendor/edu` 中能直接找到启动脚本。 修改完成后,执行 `qemu_run.sh` 即可运行: ```shell sudo ./vendor/edu/x86_64_virt/qemu_run.sh ``` 此外,使用 Docker 运行 QEMU 虚拟机可以更方便的配置网络以及多实例的应用场景。 使用请参见文档 [vendor_edu/docker](https://gitee.com/open-harmony-edu-dist/vendor_edu/tree/dev-OpenHarmony-5.0.2-Release/docker); 虚拟机运行后,您可以在标准输出 / ohemu.log(如果以 Docker 运行)找到虚拟机开放的局域网 IP,使用 `hdc` 连接 55555 端口(默认端口)即可。现在即可体验和物理机近乎一样的功能! ##### Windows (宿主机) 1. 首先直接下载编译完成的镜像(开箱即用方案),或者编译获得 OH QEMU 镜像(参见下一节 “OH Edu 镜像编译”)。 2. 将镜像目录中的镜像移动到 `./vendor/edu/x86_64_virt/` 目录下,或者手动修改 run.bat 中的镜像位置为您的镜像真实位置。 3. 修改完成后,在命令行中执行 `run.bat`。 ### OH Edu Dist 镜像编译 #### 1. 环境准备 你需要有一台用于编译的计算机,最低要求: - **最好使用 Linux 操作系统**。本文档将以 Ubuntu 22.04 为环境介绍; - **最低 16 GB RAM**:ubuntu 22.04 实测,如果启用了 `--ccache` 并且 RAM 低于这个值,会在编译时频繁出现错误信息不明的报错且重启编译后能解决; - **最低 i5 CPU,4 核或以上**; - 最低磁盘空间 200 GB(如果只编译一种平台的镜像 + SDK),**全量编译则最少 500 GB**; 如果你是 Windows 用户 / 不想污染计算机环境,可以使用 VMware 创建满足上述需求的 Ubuntu 22.04 虚拟机; 对于一个全新的 Ubuntu 22.04 Desktop 的机器,你应该执行下面安装如下库: ```shell sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev ``` > 这里贴一下官网的安装命令,针对 Ubuntu 20.04 以前的版本。这个指令在 Ubuntu 22.04 上测试会有冲突出现: > > ```shell > sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev > ``` 如果你是第一次使用 `git`,请配置 `git` 的身份信息: ```shell git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store ``` 接着你应该安装 码云专用的 `repo` 下载工具。下述命令中的安装路径以 `~/bin` 为例,请用户自行创建所需目录。 ```shell mkdir ~/bin curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo chmod a+x ~/bin/repo # 如需隔离包,请自行创建 python 虚拟环境并使用 pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests # 添加 repo 的环境变量 # 如果你的 repo 下载后放置在 PATH 中存在的位置,则可以跳过此步 vim ~/.bashrc # 编辑环境变量 export PATH=~/bin:$PATH # 在环境变量的最后添加一行repo路径信息 source ~/.bashrc # 应用环境变量 ``` 然后下载全量源代码,并准备好交叉编译工具链: ```shell 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 ``` #### 2. 镜像编译 根据目标 CPU 架构的不同,您可以选择执行不同的编译任务: ARM 架构: ```shell ./build.sh --product-name rk3568 --target-cpu arm ``` AArch64 架构: ```shell ./build.sh --product-name rk3568 --target-cpu arm64 ``` 您可以添加 `--ccache` 参数加速增量编译,但这会增大编译中间产物所需空间。 > 注:使用参数与 hb 编译脚本相同。 > > - `--target-cpu` 可选:`{arm,arm64,x86_64,x64}`; > - `--product-name` 根据实际产品,常用有:`rk3568, ohos-sdk, x86_64_virt, arm64_virt, ...`; #### 3. QEMU 镜像编译 如果您需要编译 QEMU 镜像,请将 `product-name` 参数设置为: ```shell ./build.sh --product-name x86_64_virt ``` 或者: ```shell ./build.sh --product-name arm64_virt ``` ```shell ./build.sh --product-name arm_virt ``` ```shell ./build.sh --product-name riscv_virt ``` 这主要取决于您的 QEMU 运行的平台。例如如果您运行 QEMU 的宿主机是 x86_64 架构,则构建 `x86_64_virt` 可以享受 KVM 加速。 最终,构建完成的镜像位于 `out/{arch_name}/packages/phone/images/` 目录下。其中 `{arch_name}` 代表你所选择构建的平台。 QEMU 测试启动的脚本位于 `vendor/edu` 下,如果有需要打包分发,可以将这两个目录压缩: ```shell tar -zcpvf oh-qemu-images.tar.gz vendor/edu/ out/{arch_name}/packages/phone/images/ ``` ### 常见问题 #### 如何在宿主机连接 QEMU 内部的 OHOS? 默认开发 HDC 端口 55555,在系统启动时会有如下信息段: 使用 HDC 远程调试功能连接该 IP 地址(以上述图片为例,192.168.122.110): ```shell hdc tconn 192.168.122.110:55555 ``` 然后直接连接即可进入 Shell 进行进一步调试或开发: ```shell hdc shell ``` #### 如何使用 OH Full SDK ? 您可以在每日构建下载。每日构建:https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist。在每日构建 master 分支下找到名称为对应硬件的流水线,以此获取当前对应版本的系统镜像(v 5.0.2 beta1); 如果流水线中没有当前版本的 Full SDK,则需要编译对应的 Full SDK,请在进行环境准备后,在源码仓库的根目录上执行进行自行编译。这个操作需要预留至少 40 GB 空间: ```shell ./build.sh --product-name ohos-sdk ``` ### 安装教程 1. xxxx 2. xxxx 3. xxxx ### 使用说明 1. xxxx 2. xxxx 3. xxxx ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)