1、 切换dash为bash,ctrl+alt+t 打开终端,输入以下命令

sudo dpkg-reconfigure dash

输入密码,然后tab选择否,确认

查看是否链接成功

2、安装pip3,更换下载源

sudo apt install python3-pip
pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

3、安装必要的库和工具

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler git git-lfs ruby ccache

安装hb(编译OH需要使用该指令)

python3 -m pip install --user ohos-build

配置环境变量安装vim工具

sudo apt install vim

修改配置文件

vim ~/.bashrc

在末尾添加,保存修改,并退出输入命令,

export PATH=~/.local/bin:$PATH

更新环境变量

source ~/.bashrc

hb  -h

查看hb安装成功否

4、 SCons安装

pip3 install scons

scon -v,检查SCons安装成功否

5、 安装python库

pip3 install pycryptodome
pip3 install six --upgrade --ignore-installed six
pip3 install ecdsa

6、 安装GCC

wget 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 ~

配置gcc环境变量

vim ~/.bashrc

配置文件末尾插入

export PATH=~/gcc_riscv32/bin:$PATH

保存退出,更新环境变量

source ~/.bashrc

检查GCC安装

riscv32-unknown-elf-gcc -v

至此OH编译环境安装完成。

7、下载Openharmony系统源码并编译

注册码云gitee账号。
安装git客户端和git-lfs
配置用户信息,如下。

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

8、下载repo工具链

安装curl

sudo apt install curl

下载repo

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3>repo
sudo mv repo /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo

9、OpenHarmony环境搭建

通过repo + https下载(相对简单)

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

如果前面安装hb的时候出现错误: “please call hb utilities inside source root directory”

解决方法如下
1.卸载当前版本的hb

python3 -m pip uninstall ohos-build

2.切换到OpenHarmony的根目录,然后执行命令,安装对应版本的hb

pip3 install build/lite

10、OpenHarmony编译

hb set

执行hb set,选择对应的编译Hi3516DV300

执行hb env可查看

$hb env
[OHOS INFO] root path: /home/OpenHarmony
[OHOS INFO] board: hi3516dv300
[OHOS INFO] kernel: linux
[OHOS INFO] product: Hi3516DV300
[OHOS INFO] product path: /home/OpenHarmony/productdefine/common/products
[OHOS INFO] device path: device/board/hisilicon/hispark_taurus/linux
[OHOS INFO] device company: hisilicon

执行

hb build

或者

./build.sh  --product-name Hi3516DV300 --ccache

即可以执行,等待到完成

openharmony 3.1release版本编译相关推荐

  1. OpenHarmony 3.1Release 电话功能演示—基于润和DAYU200开发套件

    1 前言 令人期待的OpenHarmony 3.1Release终于在3月31号发布了,目前DAYU200是首款支持OpenHarmony 3.1 Release版本的开发套件. 官方购买链接购买: ...

  2. 零起步了解RK3288环境搭建以及版本编译

    RK3288环境搭建 物理配置 1.      在获取到source code之后,需要准备起码100G的空间供一个版本完整编译.本地服务器编译8G足以,虚拟机则需要16G ram 2.      u ...

  3. 【flink】Flink源码编译:Flink1.11+版本编译及部署

    1.概述 转载:Flink源码编译:Flink1.11+版本编译及部署

  4. Android Studio 4.2Previw版本编译错误提示Disable offline mode and rerun the build

    编译出现的问题 项目在Android Studio 4.2Previw版本编译错误提示Disable offline mode and rerun the build No cached versio ...

  5. libreoffice 01 windows 版本编译

    01 基本信息 目前office开源版本主流是 libreoffice.其前身是openoffice. 官网:https://zh-cn.libreoffice.org/ wiki: https:// ...

  6. android studio 编译高级篇-gradle多版本编译,定制任务

    导读 本文旨在介绍Gradle构建的一些高级功能,包含了多版本编译.定制任务等功能: 为相同的app构建多个版本 如果在Gradle的过程中添加定制的任务 如何使用android库module 3.构 ...

  7. chromium 50 chromium57 版本编译启用 widevine 功能

    本实验中 chrome 版本为 57.0.2987.98 01 chromium57 在 win11 版本中启用 widevine 功能 如下网址可以验证浏览器对 widevine的支持 https: ...

  8. ARX程序的升级及多版本编译须知

    转:ARX程序的升级及多版本编译须知 (2013-11-27 19:25:15) 转载▼ 标签: arx 版本升级 虚函数重载   来源:http://bbs.mjtd.com/thread-1024 ...

  9. [Qt]VS2015下Qt项目的x86和x64版本编译

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/85883828 文章目录 @[toc] ...

最新文章

  1. Windows Server 2000 下载地址 做实验的好镜像
  2. python当中pip使用_python
  3. Android 编译环境的依赖库安装
  4. MySQL常用存储引擎之Memory
  5. apollo 配置中心_apollo-1:apollo配置中心单机模拟分布式部署
  6. mybatis if-else(写法)
  7. class-dump获取iOS私有api
  8. C/C++面试题—实现MyString类
  9. java集合中retainAll方法
  10. Mysql中Drop,Truncate,Delete的区别
  11. day02.1 爬取豆瓣网电影信息
  12. python更换镜像源_更换Anaconda 和 Pip 镜像源的方法
  13. 图书信息管理系统c语言源码,图书馆信息管理系统(含附源代码).doc
  14. Java如何在一行内输入若干个整数
  15. http(S)系列之(五):android之HttpURLConnection源码解析(1)
  16. Creo服务器管理器配置文件,Creo界面设置常用配置文件参数汇总 | 坐倚北风
  17. 如何应对大数据分析工程师面试Spark考察,看这一篇就够了
  18. 关于计算机这一块儿的认识
  19. ffmpeg实例,colorkey,chromakey抠图的使用
  20. Qt 多线程中地信号与槽

热门文章

  1. 福利加强版:明天的产品经理公益课,给到不了场的同学
  2. 苹果应用内支付(iOS IAP)的流程与常用攻击方式
  3. 【录取通知】PMCAFF产品经理第一课|第2批录取名单公布
  4. (程序设计方法与实践)肥宅快乐串
  5. flutter项目提示 Superclass has no method named ‘inheritFromElement‘等错误解决
  6. 作为一名程序员该如何向别人提问题
  7. 如何退出vi编辑页面
  8. 安装windows xp不输序列号
  9. CLOCK电子计算机上表示什么,深入浅出SDC - clock定义(上)
  10. 在Student中添加TEACHER表