基于OpenHarmony HI3861 开发环境搭建,并编译通过

📅 2026/8/1 12:48:43 👁️ 阅读次数 📝 编程学习
基于OpenHarmony HI3861 开发环境搭建,并编译通过

适用平台:Windows 11 + WSL2 (Ubuntu) | 目标系统:OpenHarmony | 版本:v1.0

目录

1 环境准备:WSL 安装与配置

2 Git 与 Repo 工具配置

3 获取 OpenHarmony 源码

4 WSL 迁移(C 盘空间不足时)

5 编译环境搭建

6 编译 OpenHarmony

7 附录:常用命令速查

1 环境准备:WSL 安装与配置

1.1 启用 WSL 功能

注意:以下操作需在「Windows 终端(管理员)」或「命令提示符(管理员)」中执行。

右键点击「开始菜单」,选择「Windows 终端(管理员)」,依次执行以下命令:

步骤一:安装 WSL

wsl --install

步骤二:启用虚拟机平台

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

注意:以上两条命令执行完成后,请重启电脑。

1.2 安装 Ubuntu 镜像

从微软商店或以下链接获取 Ubuntu 镜像并安装:

https://comate.baidu.com/zh/page/7vf0mt2gc3s

2 Git 与 Repo 工具配置

2.1 安装 Git 与 Git LFS

sudo apt-get update

sudo apt-get install git git-lfs

2.2 配置 Git 用户信息

git config --global user.name "******1717"

git config --global user.email "******1717@qq.com"

git config --global credential.helper store

ssh-keygen -t ed25519 -C "******1717@qq.com"

2.3 安装 repo 工具

mkdir ~/bin

curl https://raw.gitcode.com/gitcode-dev/repo/raw/main/repo-py3 -o ~/bin/repo

chmod a+x ~/bin/repo

pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests --break-system-packages

将 repo 添加到环境变量:

vim ~/.bashrc

在文件末尾添加一行:export PATH=~/bin:$PATH

source ~/.bashrc

3 获取 OpenHarmony 源码

cd ~/code

repo init -u git@gitcode.com:openharmony/manifest.git -b master --no-repo-verify

repo sync -c

注意:repo sync -c 耗时约 30 分钟左右,根据个人PC配置决定,请耐心等待。

repo forall -c "git lfs pull"

4 WSL 迁移(C 盘空间不足时)

注意:下载源码后 C 盘空间可能不足,建议将 WSL 迁移到其他磁盘。

步骤一:停止 WSL

wsl --shutdown

步骤二:迁移到目标磁盘

wsl --manage Ubuntu --move "E:\WSL\Ubuntu"

注意:迁移后 C 盘将释放大量空间。

5 编译环境搭建

5.1 安装系统依赖库与工具

执行以下命令安装编译所需的全部依赖:

sudo apt-get update
sudo apt-get install -y binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib 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.9 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.9-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

5.2 安装 Python 与虚拟环境

sudo apt-get install python3

sudo apt-get install python-is-python3

sudo apt install -y python3.14-venv python3-full python3-pip

5.3 安装 hb 编译工具

创建并激活虚拟环境:

python3 -m venv ~/code/oh_venv

source ~/code/oh_venv/bin/activate

pip install build/hb

5.4 安装 Scons

python3 -m pip install scons

scons -v

5.5 安装 Python 模块

pip3 install setuptools

pip3 install kconfiglib

pip3 install pycryptodome

pip3 install six --upgrade --ignore-installed six

pip3 install ecdsa

5.6 安装 RISC-V 交叉编译器

下载编译器:

https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

解压到用户目录:

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~

配置环境变量:

sudo vim /opt/.bashrc

在文件末尾添加:export PATH=/home/wangh/gcc_riscv32/bin:$PATH

source /opt/.bashrc

验证安装:

riscv32-unknown-elf-gcc -v

5.7 下载预编译文件

在虚拟环境激活状态下执行:

source ~/code/oh_venv/bin/activate

repo forall -c "git lfs pull" && bash build/prebuilts_download.sh

6 编译 OpenHarmony

编译流程:

cd ~/code

source oh_venv/bin/activate

source /opt/.bashrc

repo forall -c "git lfs pull" && bash build/prebuilts_download.sh

hb set

hb build -f

编译成功:

hb set 用于选择编译目标,hb build -f 为全量编译。

7 附录:常用命令速查

用途

命令

激活虚拟环境

source ~/code/oh_venv/bin/activate

拉取依赖 + 预编译

repo forall -c "git lfs pull" && bash build/prebuilts_download.sh

选择编译目标

hb set

执行全量编译

hb build -f

停止 WSL

wsl --shutdown

迁移 WSL 到 E 盘

wsl --manage Ubuntu --move "E:\WSL\Ubuntu"

查看 WSL 状态

wsl -l -v

查看安装的 Python 模块

pip3 list