本文主要介绍windows下基于命令行的方式搭建所需要的OpenHarmony开发环境;
1、首先打开微软商店,搜索Ubuntu,下载ubuntu(以20.04为例)
2、下载完成后需在设置中打开开发人员模式:打开设置->安全和更新->开发者选项,选择为“开发人员模式”
3、Win + R运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统和虚拟机平台两项启用
4、以管理员身份打开PowerShell并运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 开启Windows子系统功能
5、打开ubuntu,设置用户名(username)和密码(password)
6、设置管理员(root)权限密码,执行命令: sudo passwd
7、将Ubuntu Shell环境修改为bash,执行命令:sudo dpkg-reconfigure dash,选择No
8、打开cmd,输入命令:wsl -l - v,查看wsl版本,若版本为1,则升级为2,升级命令:wsl.exe --set-version Ubuntu-20.04 2
注意:如果遇到更新内核组件问题:先下载安装
wsl_update_x64.msi后再执行升级命令
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
9、更新缓存和升级
在Ubuntu中输入更新升级命令
sudo apt-get update
sudo apt-get upgrade
10、迁移wsl2至系统盘:
a.将安装好的Ubuntu子系统从系统盘迁移到指定的目录,本文将其迁移到D:\Ubuntu目录下
下载LxRunOffline,下载文件LxRunOffline-v3.5.0-mingw.zip,然后解压到某个目录中
下载地址:https://github.com/DDoSolitary/LxRunOffline/releases
b.设置环境变量,在系统变量Path中添加LxRunOffline解压的.exe所在的目录
c.Win + R运行cmd,输入LxRunOffline list查看子系统版本,复制上面的版本号,然后输入LxRunOffline move -n {version} -d {dir},{version}是版本号,{dir}是迁移目的目录,迁移到D盘Ubuntu目录下,命令:LxRunOffline move -n Ubuntu-20.04 -d D:\Ubuntu,然后回车,等待迁移完成
可在文件夹中输入\wsl$打开文件所在位置
相应命令在Ubuntu中执行
1、执行命令安装后续操作所需的库和工具:
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 libc6-dev-i386 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 tar rsync libxml2-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 lib32ncurses-dev python3-distutils lib32z1-dev
2、安装码云repo工具
安装路径以"~/bin"为例,执行以下命令:
mkdir ~/bin
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo
chmod a+x ~/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
3、安装完成后输入以下命令加入环境变量中
vim ~/.bashrc # 编辑环境变量
export PATH=~/bin:$PATH # 在环境变量的最后添加一行repo路径信息(按i键切换编辑模式,:wq保存退出)
source ~/.bashrc # 应用环境变量
4、配置用户信息
建立软连接:sudo ln -s /usr/bin/python3 /usr/bin/python
配置用户信息:引号内为实际的用户名称及邮箱
git config --global user.name “yourname”
git config --global user.email “your-email-address”
git config --global credential.helper store
5、拉取主干代码
执行以下命令,拉取主干代码:
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c ‘git lfs pull’
6、执行prebuilts
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
命令:bash build/prebuilts_download.sh
执行完后可能会出现warning,我们需要安装提示,安装python3.9,命令:sudo apt-get install python3.9
安装成功后进入到prebuilts/python/linux-x86/3.9.2/bin/目录:cd prebuilts/python/linux-x86/3.9.2/bin/
执行命令:python3.9 -m pip install --upgrade pip
成功后返回根目录,执行bash build/prebuilts_download.sh命令
7、安装编译工具
执行以下命令安装hb工具:
pip3 install --user build/lite
vim ~/.bashrc
export PATH=~/.local/bin:$PATH
source ~/.bashrc
8、安装gn
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
将下载好的gn迁移到Ubuntu对应路径(原地址以D:/,目标地址为代码根路径)
命令:cp -r /mnt/d/gn-linux-x86-1717.tar.gz /home/oh/openharmony_master/
mkdir ~/gn
tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
vim ~/.bashrc
export PATH=~/gn:$PATH
source ~/.bashrc
9、安装llvm
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz
将下载好的llvm迁移到Ubuntu对应路径(原地址以D:/,目标地址为代码根路径)
命令:cp -r /mnt/d/llvm.tar.gz /home/oh/openharmony_master/
mkdir ~/llvm
tar -zxvf llvm.tar.gz -C ~/llvm #解压文件
vim ~/.bashrc #设置环境变量
export PATH=~/llvm/bin:$PATH #拷贝到最后一行,:wq保存并退出
source ~/.bashrc #使环境变量生效
1.执行以下命令安装编译工具:
python3 -m pip install scons #安装SCons安装包
scons -v #查看是否安装成功
pip3 install setuptools #安装python模块setuptools
sudo pip3 install kconfiglib #安装GUI menuconfig工具
sudo pip3 install pycryptodome #安装pycryptodome
sudo pip3 install six --upgrade --ignore-installed six #安装six
sudo pip3 install ecdsa #安装ecdsa
2.下载安装gcc_riscv32:
下载地址:https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fharmonyos%2Fcompiler%2Fgcc_riscv32%2F7.3.0%2Flinux%2Fgcc_riscv32-linux-7.3.0.tar.gz
将下载好的gcc_riscv32迁移到Ubuntu对应路径(原地址以D:/,目标地址为代码根路径)
命令:cp -r /mnt/d/gcc_riscv32-linux-7.3.0.tar.gz /home/oh/openharmony_master/
之后进行解压,加入环境变量:
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~ #解压文件
vim ~/.bashrc #设置环境变量
export PATH=~/gcc_riscv32/bin:$PATH #拷贝到最后一行,:wq保存并退出
source ~/.bashrc #使环境变量生效
3.编译3861
执行命令:./build.sh product_name wifiiot_hispark_pegasus
注:编译前删除上次3861编译产物
上述操作中已经成功搭建好hi3516环境,可直接进行编译版本
执行命令:./build.sh product_name ipcamera_hispark_taurus
注:编译前删除上次hi3516编译产物
上述操作中已经成功搭建好rk3568环境,可直接进行编译版本
执行命令:./build.sh --product-name rk3568 --target-cpu arm64
注:编译前删除上次rk3568编译产物