编译openharmony OS
原理:不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积。-C "harmony os" ,-t 对应的是类型, -c 对应的是注释,可以
一、前提条件
1、注册码云gitee帐号。
登录https://gitee.com/ 官网点击注册

2、注册码云SSH公钥,请参考码云帮助中心
Windows 用户建议使用Windows PowerShell或者Git Bash,在命令提示符下无cat和ls命令。
(1)通过命令 ssh-keygen 生成 SSH Key:
ssh-keygen -t harmony -C "harmony os" ,-t 对应的是类型, -c 对应的是注释,可以随便写。输入完该命令后,根据提示,中间按三次回车。
(2)查看生成的 SSH 公钥和私钥:
在当前目录下有一个 .ssh 的目录,下面有两个文件id_harmony, id_harmony.pub
(3) 读取公钥文件 ./.ssh/id_harmony.pub.pub:
(4)把对应的公钥内容填写到-->用户可以通过主页右上角「个人设置」->「安全设置」->「SSH 公钥」->「添加公钥」,添加生成的 public key 添加到当前账户中。
3、安装git客户端和git-lfs并配置用户信息。
(1) git 客户端安装:
作用: 这是“引擎”,是核心功能。
下载: 去 https://git-scm.com/install/下载并安装。全部用默认选项,一直点“Next”就行。
(2)git-lfs 安装
LFS是Large File Storage的缩写,用了帮助git管理大的文件
原理:不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
下载Git LFS的最新版本。可以在Git LFS的官方网站上找到最新版本的下载链接。在Ubuntu系统上,可以使用以下命令下载Git LFS:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
(3)配置用户信息
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
4、虚拟机安装
(1)VMware Workstation 官方提供个人使用免费版本,建议直接从官网下载。
- 官网地址:VMware 官网
- 下载页面:VMware Workstation & Fusion
(2)Ubuntn镜像文件下载相关的版本
Ubuntu官网:https://ubuntu.com
Ubuntu官网中文站:https://cn.ubuntu.com
(3)推荐编译主机配置如下
- Ubuntu22.04 LTS搭建开发环境
- DDR至少16GB: (内存也可以少一些,内存少的话编译的时间估计比较长,估计要4个小时左右)
- 至少250GB的硬盘空间(代码有100G左右)
5、安装码云repo工具
(1)在ubuntu 操作系统上执行命令
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
注:如出现"bash: /usr/local/bin/repo: Permission denied"的报错的话,按照一下方案决绝。
a、首次切换root用户,需要先为root用户设置密码;(已为root设置密码的可以跳过)
sudo passwd root 按照提示输入两次密码
b、切换root用户: su root,然后输入root的密码
c、为root用户下载"curl"工具;apt install curl
d、运行命令:curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
注:有的时候url 有变动的时候安装会失败,但是没有任何提示。可以按照以下方法校验是否成功
head -n 5 /usr/local/bin/repo
正常应该看到类似:
#!/usr/bin/env python3
# Repo launcher
失败的情况看到一下结果,说明对应的url已经变更了
<!DOCTYPE html>
e、为下载的repo工具文件设置权限;
chmod a+x /usr/local/bin/repo
f、切换回原用户,继续操作。
(2)执行pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
如果没有安装python,则提示/usr/bin/env: ‘python’: No such file or directory
出现这种情况是,一种情况是没有安装,直接安装python就可以。
另外一种情况已经安装,则需要增加软链接
python3 --version //查看版本是否已安装,如果有版本输出说明已经安装,否则没有安装
whereis python3 //如果已安装,查看安装路径
sudo ln -s /usr/bin/python3 /usr/bin/python ,创建一个软链接
6 硬件单板 RK3566
二、获取源码编译
适配开发版IDO-Purple Pi OH RK3566-V1 的编译
(1)在ubuntu主机执行以下命令,获取的是与版本发布时完全一致的源码
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v6.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
(2) 打补丁
本地下载:📎IDO_Purple_Pi_OH_V1C_OHOS6.0r_Patch_251015.tar.gz
载后将补丁压缩包放到当前openharmony代码根目录下,如下图所示:
//解压补丁包
$ tar -zxvf IDO_Purple_Pi_OH_V1C_OHOS6.0r_Patch_251015.tar.gz
$ cd IDO_Purple_Pi_OH_V1C_OHOS6.0r_Patch_251015/
$ ./ido_patch.sh
(3) OHOS6.0 SDK编译
安装工具包,在编译主机执行以下命令:
$ sudo apt-get install aptitude
$ sudo aptitude install -y binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-none-eabi gcc-arm-linux-gnueabi x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin 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 git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools git-lfs
$ sudo apt-get install -y pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 vim ssh locales gcc-arm-linux-gnueabi
然后再执行编译命令
$ sudo bash build/prebuilts_download.sh
$ sudo ./build.sh --product-name purple_pi_oh --ccache
失败时log索引位置:./out/purple_pi_oh/error.log
固件索引位置:./out/purple_pi_oh/packages/phone/images/
三、烧录硬件
1、工具下载,及操作参考
参考文档https://industio.yuque.com/mdtih8/ld63ad/qibbzg6c08mazy27?singleDoc
2、烧录:
编译完OpenHarmony源码后,会在/out/XXX(产品名)/packages/phone/images生成散包镜像:
我们将images文件夹拷贝至本地,进行散包烧录操作步骤:
(1)点击鼠标右键,导入配置

(2)选择images文件夹中的config.cfg配置文件

(3)导入配置成功后点击确定,如下图所示

(4)依此选择对应的镜像即可,如下图所示:

(5)最后点击执行,如下图所示:

四、参考文档
【2】https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
【3】OpenHarmony 6.0 Release
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v6.0-release.md
【4】IDO-Purple Pi OH RK3566-V1 OpenHarmony开发手册https://industio.yuque.com/mdtih8/ld63ad/fpqomvta8p7v9gdo?singleDoc
【5】OpenHarmony 编译后烧录镜像教程https://industio.yuque.com/bx4a
更多推荐


所有评论(0)