OpenHarmony代码操作总结

OpenHarmony社区代码操作总结

OpenHarmony是HarmonyOS的开源版,由华为捐赠给开放原子开源基金会(OpenAtom Foundation)开源。第一个开源版本支持在128KB~128MB的设备上运行,欢迎参加开源社区一起持续演进。

本文主要介绍windows环境下OpenHarmony社区代码操作:代码下载,开发环境搭建,版本编译,烧写,挂载,代码运行,上库等完整操作流程总结;

本文以xts_acts仓库,L1-Hi3516开源板子操作为例。

主要操作是在Ubuntu子系统操作,本地只有HiTool版本烧写和代码编辑工具Visual Studio Code(操作过程中有些安装包和软件获取不便的,可以直接找我获取)。

内容较多,请先查看目录,按需参考


OpenHarmony社区文档:文档中心

代码仓库地址:https://openharmony.gitee.com

OpenHarmony学习资料个人归档(更新ing……)


OpenHarmony-RK3568开发板操作梳理

OpenHarmony-L2操作总结:

OpenHarmony-L2操作总结_@_南先生的博客-CSDN博客

OpenHarmony_Hi3861Ubuntu编译环境搭建测试套编译用例执行操作总结:

OpenHarmony_Hi3861Ubuntu编译环境搭建测试套编译用例执行操作总结_@_南先生的博客-CSDN博客

OpenHarmony-Hi3518EV300挂载烧写:

OpenHarmony-Hi3518EV300挂载烧写_@_南先生的博客-CSDN博客

OpenHarmony-常见问题解决(持续更新…):

OpenHarmony-常见问题解决(持续更新…)_@_南先生的博客-CSDN博客

OpenHarmony开发资料归档


目录

OpenHarmony社区代码操作总结

Windows环境中准备Ubuntu

获取OpenHarmony源码

下载单个仓

编译

流水线daily构建版本获取

转测版本

烧写

NFS挂载

windows本地代码编辑

代码上库

dco检查失败问题解决

提交失败项解决

附件


Windows环境中准备Ubuntu

使用Windows10的WSL2的Ubuntu子系统,网上有很多安装的分享,这里不做介绍,也可按照以下InsStep直接安装,通过微软商店默认安装是安装在系统盘下的,具体路径如下,所有Ubuntu的内容都在这个路径下。

InsStep:

1.打开设置->安全和更新->开发者选项,选择为“开发人员模式”;

2.Win + R运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统虚拟机平台两项启用(注:没有虚拟机平台的,请升级Windows系统,Win10 版本号为 2004(内部版本19041或更高)),重启;

OpenHarmony代码操作总结

 3.以管理员身份打开PowerShell并运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart   开启Windows子系统功能;

4.打开Microsoft Store搜索Ubuntu,安装Ubuntu20.04:

OpenHarmony代码操作总结

5.安装完直接打开,设置用户名和密码以及root用户密码:

OpenHarmony代码操作总结

OpenHarmony代码操作总结

PS: root和个人用户密码忘记,修改可参考win10子系统 WSL如果root和其他用户的密码都忘记的修复方法 – Halo3224 – 博客园

 6.将Ubuntu Shell环境修改为bash

执行sudo dpkg-reconfigure dash,选择No,将Ubuntu shell由dash修改为bash

OpenHarmony代码操作总结

 如图,执行ls -l /bin/sh查看:

OpenHarmony代码操作总结

7.安装完成,用户账号设置好之后,打开命令行窗口执行wsl -l -v查看下wsl的版本,确保是wsl2,如果是版本1,可执行wsl.exe –set-version Ubuntu-20.04 2命令升级为版本2,执行后等待转换完成即可(注:如果wsl不能执行,是Windows系统版本太低,需要更新系统)!!注意一定要是WSL2,如果是版本1,编译速度会慢几十倍

OpenHarmony代码操作总结

 PS:执行wsl.exe –set-version Ubuntu-20.04 2出现内核组件问题,先下载安装
wsl_update_x64.msi后,在执行切换命令,即可开始转换,等待转换完成即可

8.wsl2安装完成后,切换软件源为国内软件源:

s1:备份原来的源:cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak

s2: 将源换成阿里源:sudo vim /etc/apt/sources.list,将里面的内容清空,把下面的内容复制进去,保存退出

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
s3: 更新缓存和升级:

sudo apt-get update

sudo apt-get upgrade

PS:按上述步骤切换软件源后可解决一Ubuntu20.04一些依赖工具安装失败的问题

9.迁移wsl2至非系统盘:

这里介绍一下如何将安装好的Ubuntu子系统从系统盘迁移到指定的目录,本文将其迁移到D:Ubuntu目录下。

Ubuntu子系统安装成功后,进行迁移操作,操作如下:

1.需要下载LxRunOffline,下载地址,下载文件LxRunOffline-v3.5.0-mingw.zip,然后解压到某个目录中

OpenHarmony代码操作总结??

2.设置环境变量,在系统变量Path中添加LxRunOffline解压的目录(.exe所在的目录)

OpenHarmony代码操作总结??

3.重启电脑,使环境变量生效

4.Win + R运行cmd,输入LxRunOffline,如果显示下面的提示证明已经安装成功了

OpenHarmony代码操作总结??

5.Win + R运行cmd,输入LxRunOffline list查看子系统版本

OpenHarmony代码操作总结??

6.复制上面的版本号,然后输入LxRunOffline move -n {version} -d {dir},{version}是版本号,{dir}是迁移目的目录,比如本文是20版本,迁移到D盘Ubuntu目录下,LxRunOffline move -n Ubuntu-20.04 -d D:Ubuntu,然后回车,等待迁移完成,10分钟左右。

OpenHarmony代码操作总结??

这样,整个Ubuntu子系统就迁移到了指定目录下了:

?

OpenHarmony代码操作总结?

WSL文件映射在wsl$路径下,通过wsl$Ubuntu-20.04打开文件所在位置

 

OpenHarmony代码操作总结? OpenHarmony代码操作总结?

10.WSL映射到本地

OpenHarmony代码操作总结

如图:

本地方便查看

OpenHarmony代码操作总结

 PS:

1.更多请参考WSL文档:什么是适用于 Linux 的 Windows 子系统 | Microsoft Docs

2.WSL与Windows交互文件权限问题:从根本上解决DrvFs文件系统的权限问题请查看:从根本上解决DrvFs文件系统权限问题

获取OpenHarmony源码

Ubuntu环境下:

Linux开发环境准备:

环境搭建主要分为:安装和配置python、安装gn、安装ninja、安装llvm、安装hb,安装如下流程:

参考 Ubuntu编译环境准备

1.python环境

Ubuntu20已自带python3.8.5,执行sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 150切换python3:

OpenHarmony代码操作总结??

安装pip3

$ sudo apt-get -y update

$ sudo apt-get install python3-pip

其他所需库参考开源文档使用pip3安装即可。或者直接依次执行下面命令:
$ sudo pip3 install kconfiglib

$ sudo pip3 install pycryptodome

$ sudo pip3 install six –upgrade –ignore-installed six

$ sudo pip3 install ecdsa

OpenHarmony代码操作总结??

2.安装gn:

下载gn工具

安装

3.安装ninja:

下载ninja工具

安装

4.安装llvm:

下载LLVM工具

安装

apt安装全部依赖的工具:

源码获取

1.码云gitee账号注册,SSH公钥注册,git客户端配置参考开源文档介绍配置即可,生成/添加SSH公钥

2.安装码云repo工具:

$ su root    ———–身份验证失败,执行 sudo passwd,设置root密码即可。

$ sudo passwd

$ su root 

# curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

# chmod a+x /usr/local/bin/repo

# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple reques

3.git lfs安装

安装成功:

OpenHarmony代码操作总结??

PS:

1.git lfs用于下载大文件使用,是git的扩张,实现对大文件的支持;

2.Git LFS操作介绍请参考:Git LFS 操作指南

获取OpenHarmony主干代码

PS:参考源码下载

方式一(推荐):通过repo + ssh 下载

方式二:通过repo + https 下载

如图:

OpenHarmony代码操作总结??

获取OpenHarmony release分支代码

如图:

OpenHarmony代码操作总结??

下载单个仓

私仓代码可以单独下载,以OpenHarmony-SIG组织,oh-inner-release-management仓为例:

OpenHarmony代码操作总结??

1.fork仓

OpenHarmony代码操作总结??

2.复制克隆链接

ps:注意是fork后的个人仓

oh-inner-release-management: 1、需求:内部转测试的双周非正式版本信息承载2、目标:OH非正式版本的信息承载3、意义:非官方开发转测试通道

OpenHarmony代码操作总结??

 3.git clone

OpenHarmony代码操作总结??

4.修改上库

git add .

git commit -sm “commit msg”

git push

ps:git push 默认提交到master分支

编译

1.安装hb

$ python3 -m pip install –user ohos-build

$ vim ~/.bashrc

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

source ~/.bashrc

??

OpenHarmony代码操作总结

2.依赖工具及java环境安装:

以轻量和小型系统L1-Hi3516DV300板子为例:

S1.执行:

??S2.执行:

2.编译版本

hb set 

回车

选择ipcamera_hispark_taurus@hisilicon

hb build 

等待编译完成

编译完成所在路径:D:Ubunturootfshomealexopenharmony_masterouthispark_taurusipcamera_hispark_taurus

版本烧写所需文件:OHOS_Image.bin,rootfs_vfat.img,userfs_vfat.img

流水线daily构建版本获取

CI-PORTAL

OpenHarmony代码操作总结??

转测版本

oh-inner-release-management: 1、需求:内部转测试的双周非正式版本信息承载2、目标:OH非正式版本的信息承载3、意义:非官方开发转测试通道

OpenHarmony代码操作总结??

烧写

使用Hitool工具烧写:

1.登录Hihope官网下载Hi3516-HiTool安装包解压到本地

OpenHarmony代码操作总结??

Windows环境双击HiTool.exe即可打开;

2.点击链接下载USB-to-Serial Comm Port驱动程序

OpenHarmony代码操作总结??

点击安装包,安装驱动程序。

驱动安装完成后,将Hi3516开源板子连接到PC上,重新插拔USB接口,串口信息显示如下图所示(如果初次查看设备管理没有端口,请安装CH341SER.EXE驱动)。

OpenHarmony代码操作总结??

3.连接网线,进行小网Ip设置

来源:@_南先森

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月11日
下一篇 2022年7月11日

相关推荐