#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1 原创 精华

Dweb九弓子
发布于 2022-5-2 01:04
浏览
4收藏

DevEcoTool编译烧录OpenHarmony3.1到Dayu200(RK3568)

这篇文章将描述从虚拟机新建到编译OpenHarmony.1 release版本
烧录到Dayu200(RK3568) 过程及补漏

如果你只是想烧录镜像,并没有编译环境的需要。
那么可以直接参考连老师B站视频下载安装即可:
https://www.bilibili.com/video/BV1ar4y1p7U7

1·新建本地虚拟机Ubuntu20环境

准备工作

1.环境软件:OracleVM
2.需要打开官方文档:
搭建Windows+Ubuntu混合开发环境
搭建标准系统环境

//搭建Windows+Ubuntu混合开发环境
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md
//搭建标准系统环境
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-env-setup.md

开始搭建

1.新建Ubuntu虚拟机
Ubuntu虚拟机 最低配置
CPU 4核以上
内存 8G以上
显存 128M
硬盘 70G以上(尽量大吧,方便试错最好动态加载)
共享文件夹 挂载
共享粘贴板 双向
共享拖拽 双向
网络 桥接网卡(重要,非常重要。具体配置正常默认就行

装好后先确认共享文件夹 + 粘贴板是不是双向同步
如果不是需要在窗口菜单栏选择“安装增强配置”,具体如图

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

详细相关自己百度吧,这篇文章只用到共享文件夹共享粘贴板
确保它俩能用,会方便很多
哦,还有桌面版Ubuntu记得打开软件管理器设置镜像源选国内的

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

2.开始进行Ubuntu环境配置

目的是Windows+Ubuntu混合开发环境,我推荐大家先啃硬骨头先把Ubuntu这边摆平

1.将Ubuntu Shell环境修改为bash
~ ls -l /bin/sh
~ sudo dpkg-reconfigure dash  //选NO
2.下载DevEco Device Tool 3.0版本

根据文档下载DevEco Device Tool 3.0 :下载链接

https://device.harmonyos.com/cn/develop/ide#download //Linux版本哦~

下载完成后,文档中有错误:
unzip devicetool-linux-tool-3.0.0.400.zip
这里的400是版本号,我们要自己在执行命令前修改成我们下载的版本

推荐操作:

1.从共享文件夹把下载的压缩包存储并解压,得到一个.sh文件
2.文件夹内鼠标右键终端打开,具体如图:

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

3.执行指令

chmod u+x devicetool-linux-tool-3.0.0.401.sh //赋权
sudo ./devicetool-linux-tool-3.0.0.401.sh //开始安装

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

看到这个就可以了,不要管Ubuntu里面的Vscode有没有插件,不会有的。
切记,这次更新的混合开发环境,Ubuntu没有可视化的devicetool插件

3.搭建标准系统环境

文档:搭建标准系统环境

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 gcc-arm-linux-gnueabi 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.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 python3.8-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

这里执行完,你会看到一下内容说依赖关系没有安装成功,没事。
但是下面这俩就非常重要了,切记装上
非常重要,除了上面的还需要安装两个依赖

// 来自连志安老师的提醒
sudo apt-get install libncurses5
sudo apt-get install genext2fs

2.更换Python3命令软链接

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.8 /usr/bin/python 
(/usr/bin/python3.8 是你现在py3的路径,Ubuntu20默认就在这里)

这里没有必要非得按照文档的这个办法,反正我是没成功,也没看懂…

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

4.获取源码

打开文档:搭建标准系统环境 : 获取源码

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-env-setup.md#%E8%8E%B7%E5%8F%96%E6%BA%90%E7%A0%81

推荐顺序

1.安装git及工具

sudo apt-get update
sudo apt-get install git git-lfs
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

2.拉取源码
推荐使用repo + https下载
不然你会需要配置一堆gitee账户的密钥设置:-)我平常连我gitee github帐号都记不住

在开始下载之前要注意你的账号权限,推荐你去/home/{{yourid}} 目录下面新建一个文件夹
比如这样:

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

然后进入新的文件夹,鼠标右键进入终端打开

//开始下面 很大很大需要等
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.1-Release --no-repo-verify
//还是等
repo sync -c
//继续等
repo forall -c 'git lfs pull'

这里有个内容需要修改
文档为:repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
这里的master一定要更换为OpenHarmony-3.1-Release
不然就拉错了···
我们当前2022年5月的目的是体验OpenHarmony-3.1-Release版本

全部执行完毕,这个目录下会出现熟悉的OpenHarmony全量系统源码文件夹列表

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

到这里,我们已经获取到OpenHarmony3.1 Release版本全部源码了

3.安装编译工具

还是保持上一步的目录,执行以下命令
这里最后的目的是安装hb工具

bash build/prebuilts_download.sh
pip3 install --user build/lite

文档下一步要用Vim编辑一个文件,修改环境变量

//这里的vim需要安装 sudo apt-get install vim
vim ~/.bashrc 
//这时候你会看到打开的文件,上下键拉到最后一行 按下键盘 i 键 开始插入
export PATH=~/.local/bin:$PATH
//粘贴进入之后 esc 退出编辑模式
//输入 :w 冒号+w 保存
//输入 :w 冒号+q 退出

//执行如下命令更新环境变量
source ~/.bashrc

到了这一步之后,在源码根目录输入 hb 查看返回如下图,就代表编译环境安装完毕

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

这里我在Ubuntu安装了vscode,其实用不上。
因为之前Ubuntu的devicetool有vscode可视化插件,我就安装了。后来发现根本没必要,不过如果你日后想要开发。还是建议安装

5.配置Windows远程访问Ubuntu环境

还是先从Ubuntu入手,打开这台虚拟机的ssh网络服务

//安装
sudo apt-get install openssh-server
//打开服务
sudo systemctl start ssh
//查看本机网络
ifconfig

看到如下图,即代表配置成功

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

这里一定要是192.168开头的网段,不然你就需要关闭虚拟机重新配置网络为桥接
具体配置如图:

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

OK,Ubuntu到这里就算大功告成,我们回到Windows继续

3.开始进行Windows工具配置

打开文档:安装Remote SSH

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-env-setup.md#%E5%AE%89%E8%A3%85remote-ssh

1.给你的Vscode安装插件,如图
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
注意:左侧边栏,鼠标右键,确定远程资源管理器为显示状态

2.远程连接Ubuntu
跟着文档走,执行如图操作:
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
这里输入框输入

ssh UbuntuID@192.168.x.xx

然后你会看到这个ssh配置文件存储框
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

这里有坑,我强烈不建议大家配置文件存储在C盘用户数据路径。会有权限拦截问题。这里我自定义了一个路径,自定义方式如下。

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

在vscode插件拓展里面输入@installed找到remote-ssh,打开扩展设置

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
然后在ConfigFile设置中随便找个路径新建一个config文件,把路径写进来就好了

再次回到这个框体
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
选择之后,我们看到这个文件的具体内容。
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

点击文件夹新建样式的图标,会打开一个新的vscode窗口。
输入你Ubuntu帐号的passwd登录进去,就能和本机一样管理Ubuntu的项目了
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
再输入一次passwd就可以看到上面这张图的效果了…
现在知道为啥这次版本Ubuntu那边vscode没有可视化插件了吧。
用了新技术了~~~
以后个人开发者就不需要顶着卡到飞起的Ubuntu虚拟机去修改源码了

那么现在万里长征现在才走了一半儿,我们继续给windows安装devicetool插件。
这个很简单,跟着文档自己下载插件安装即可。

打开文档:安装Window版本DevEco Device Tool

下载链接:
https://device.harmonyos.com/cn/develop/ide#download //windows版本哟
安装文档:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-env-setup.md#%E5%AE%89%E8%A3%85window%E7%89%88%E6%9C%ACdeveco-device-tool

最后我们需要确认的是这样的,如图:
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

4.开始编译

打开文档:编译

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-build.md

这里文档有个问题,上来它就要我们对着项目settings,可我们还没有新建项目啊喂!
所以这里我们需要先新建项目,再按着文档来做。

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

导入项目,按图中箭头指引打开插件“工程”–>“导入工程”–>然后选择我们在Ubuntu的全量项目源码路径
选择 – “项目源码导入”
然后才能看到#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
然后我们才能按照文档的来办。

这里需要注意的是
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
OpenHarmony的工具链检测如果爆红,请万万不要开始编译。
因为整个编译过程会长达4-5个小时,报错打断就是浪费生命。
珍爱生命,不要爆红

当这里安全后然后执行插件脚本命令,
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
当你能看到编译过程哗啦啦的过的时候,最好是看到开始编译 “ace引擎目录”的时候,就可以去睡觉了

当然,上面这句话是我自己个儿的一次性编译通过的经验

编译完毕你会看到这样的终端显示:
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
大地母亲护佑着你,祝你好运

5.开始烧录

终于要开始烧录了!
准备了这么长的win+ubuntu的混合开发模式,在这里终于体验到了便捷。
直接点击upload脚本命令就可以直接烧录!!
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

哦哦哦哦哦,等等,板子还没插。
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

哦哦哦哦哦,等等,驱动还没装
打开文档去下载:烧录
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md

upload脚本执行过程,得有个5-10分钟。
文档这里少了两步!!
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

你在等待过程中会看到下面的画面
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

第一步是要你按下回车,但你别着急。
先把360等各种杀毒软件防火墙关掉,别问为啥。
按下回车之后你会看到
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区
The board is not in Loader mode.Please Hold on the VOL+ key, 3 seconds later press RESET key,and 3 seconds later release VOL+ key.
这句洋话的意思是:

长按音量加大键3秒,然后按reset键,听到驱动掉离声不要松开音量键,等待驱动接入后看到终端刷出新的内容再松开音量键

#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

6.开启OpenHarmony3.1之旅

烧录完毕不会自动开机,再按一下reset键。
#Dayu200体验官#【从零开始】DevEcoTool编译烧录OpenHarmony3.1-鸿蒙开发者社区

一些感悟:
1:确实麻烦
2:但是直接去用现成的工具去烧,成功了还行,不成功更麻烦
(我跟着连老师视频去按reset键,死活就是测试设备不成功,属于是给我整没办法了。)
3:docker确实方便,但我了解了更多linux系统与ohos编译依赖环境配置与原理。
(主要是我从听说docker这东西开始,除了在云服务器,压根就没有在本机配置成功过,也属于是给我整没办法了。)
4:当完全使用华为官方提供的工具后,大概他们开发ohos系统也是这样用的吧。vscode+remote-ssh组成的windows+ubuntu混合开发模式,确实很方便。
5:已经有想写定制底层组件的冲动了。
(我cpp虽然菜,但也不是不会:-)

我的社区ID:九弓子
打个广告:我上架了一款HarmonyOS app叫 XstoryMaker
可以产出ohos+web全平台canvas动画哟~~~

**开发OpenHarmony web范式的话,可以无缝引入哟~~~**
动画内容制作软件:华为应用市场 - **XstoryMaker**
动画数据运行库:npm install xbone //1.0.6版本可用
开源运行库地址:https://gitee.com/sugarnine/xbone
B站ID:九弓子

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2023-2-2 10:20:24修改
10
收藏 4
回复
举报
4条回复
按时间正序
/
按时间倒序
时空未宇
时空未宇

九哥牛批🐮🐮🐮

1
回复
2022-5-2 03:19:34
老克
老克

这波可以啊

1
回复
2022-5-2 11:27:54
Buty9147
Buty9147

我也是想试试混合开发环境下的烧录,

"长按音量加大键3秒,然后按reset键,听到驱动掉离声不要松开音量键,等待驱动接入后看到终端刷出新的内容再松开音量键"
等到超时了,终端也没刷出新内容,最后就是超时的提示

我倒是没接网线。

 

我对比直接用烧录工具烧录,这种VOL+ + RESET 的方法,始终就不能正常显示发现一个MASKROOM设备。

后来我有一个思路,就是通过MASKROOM+RESET键让开发板提前进入MASKROOM状态,然后希望DevEco Device Tool 能检测成功直接烧录,然而并不行。

 

已于2022-5-16 12:29:35修改
回复
2022-5-16 12:25:34
wx61daddde25ab3
wx61daddde25ab3

过来赞一下

回复
2022-5-19 19:32:57
回复
    相关推荐