当前位置: 首页 > 科技观察

DevEcoTool编译烧录OpenHarmony3.1

时间:2023-03-19 13:57:46 科技观察

更多开源内容请访问:开源基础软件社区https://ost.51cto.com烧录到大禹200(RK3568)流程和诱捕。如果只是烧录镜像,则不需要编译环境。然后可以直接参考莲老师B站的视频下载安装:https://www.bilibili.com/video/BV1ar4y1p7U7。新建本地虚拟机Ubuntu20环境准备:环境软件:OracleVM。需要打开官方文档:搭建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开始搭建新的Ubuntu虚拟机安装完成后,首先确认共享文件夹+粘贴板是否双向同步。如果没有,需要在窗口菜单栏中选择“InstallEnhancedConfiguration”,如图。关于百度的更多细节,本文仅使用共享文件夹和共享粘贴板。确保两者都可以使用会方便很多。哦,还有桌面版的Ubuntu,记得打开软件管理器设置镜像源选择国内。启动Ubuntu环境配置的目的是Windows+Ubuntu混合开发环境。推荐大家先啃硬骨头,先把Ubuntu安顿下来。将UbuntuShell环境更改为bash~ls-l/bin/sh~sudodpkg-reconfiguredash//选择NO下载DevEcoDeviceTool3.0版本按照文档:下载链接下载DevEcoDeviceTool3.0。https://device.harmonyos.com/cn/develop/ide#download//Linux版~下载完成后,文档有错误:解压devicetool-linux-tool-3.0.0.400.zip。这里的400是版本号,我们需要修改为我们执行命令前下载的版本。推荐操作:将下载的压缩包从共享文件夹中存放解压得到.sh文件。在文件夹中鼠标右键打开终端,如图:执行命令:chmodu+xdevicetool-linux-tool-3.0.0.401.sh//authorizesudo./devicetool-linux-tool-3.0.0.401.sh//开始安装就看到这个了,不用管ubuntu里面有没有Vscode的插件,不会有的。请记住,在这个更新的混合开发环境中,Ubuntu没有可视化的devicetool插件。构建标准系统环境文件:构建标准系统环境。安装所有环境依赖项sudoapt-getupdate&&sudoapt-getinstallbinutilsbinutils-devgitgit-lfsgnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg++-multilibgcc-arm-linux-gnueabilibc6-dev-i386libc6-dev-amd64lib32ncurses5-devx11proto-core-devlibx11-devlib32z1-devccachelibgl1-mesa-devlibxml2-utilsxsltprocunzipm4bcgnutls-binpython3.8python3-pipruby??genext2fsdevice-树编译器makelibffi-deve2fsprogspkg-configperlopenssllibssl-devlibelf-devlibdwarf-devu-boot-toolsmtd-utilscpiodoxygenliblz4-toolopenjdk-8-jregccg++texinfodosfstoolslibsmtoolsdefault-jkdefaultnc-jreapt-utilswgetsconspython3.8-distutilstarrsyncgit-corelibxml2-devlib32z-devgrsyncxxdlibglib2.0-devlibpixman-1-devkmodjfsutilsreiserfsprogsxfsprogssquashfs-toolspcmciautilslibvsquota5libvsppplibnctinfo-之后在这里执行libncursesw5libstdc++6gcc-arm-none-eabivimsshlocales,你会看到一些说dependencies没有安装成功,没关系。但是下面两个很重要,记得安装。很重要,除了上面的,还需要安装两个依赖。//连志安老师的提醒sudoapt-getinstalllibncurses5sudoapt-getinstallgenext2fs替换Python3命令软链接。sudorm/usr/bin/pythonsudoln-s/usr/bin/python3.8/usr/bin/python(/usr/bin/python3.8是你当前的py3路径,Ubuntu20默认在这)这里不是必须的我必须遵循文档的方法。反正没成功,也没看懂。。。获取源码打开文档:搭建标准系统环境:获取源码。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安装git和工具的推荐顺序sudoapt-getupdatesudoapt-getinstallgitgit-lfscurlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3-o/usr/local/bin/repo#如果没有权限,可以下载到其他目录,在环境变量中配置chmoda+x/usr/local/bin/repopip3install-ihttps://回购。huaweicloud.com/repository/pypi/simplerequests推荐使用repo+https下载源码。否则,你将需要配置一堆gitee帐户密钥设置:-)我通常连我的giteegithub帐户都记不住。在开始下载之前请注意您的帐户权限。建议您在/home/{{yourid}}目录下创建一个新文件夹。例如:然后进入新建的文件夹,右击进入终端打开。//下面很大,需要等待repoinit-uhttps://gitee.com/openharmony/manifest.git-bOpenHarmony-3.1-Release--no-repo-verify//或者等待reposync-c//继续等待repoforall-c'gitlfspull'这里有些东西需要修改。文档是:repoinit-ugit@gitee.com:openharmony/manifest.git-bmaster--no-repo-verify。这里的master必须换成OpenHarmony-3.1-Release。不然就错了……我们目前的目标是2022年5月体验OpenHarmony-3.1-Release版本。全部执行完成后,该目录下会出现熟悉的OpenHarmony全系统源码文件夹列表。至此,我们获得了OpenHarmony3.1Release的全部源码。安装编译工具或者保留上一步的目录,执行以下命令。这里的最终目的是安装hb工具。bashbuild/prebuilts_download.shpip3install--userbuild/litedocument下一步是使用Vim编辑文件并修改环境变量。//这里的vim需要安装sudoapt-getinstallvimvim~/.bashrc//这时候会看到打开的文件,按上下键到最后一行按键盘i键开始插入exportPATH=~/.local/bin:$PATH//粘贴进入后esc退出编辑模式//输入:w冒号+w保存//输入:w冒号+q退出//执行以下命令更新环境变量source~/.bashrc这一步后,在源码根目录下输入hb查看,返回如下图,说明编译环境安装完成。这里我在Ubuntu上安装了vscode,但是没有用。因为之前Ubuntu的devicetool有一个vscode可视化插件,所以我安装了。结果发现完全没有必要,但是如果以后要发展的话。还是建议安装。要配置Windows远程访问Ubuntu环境,先启动Ubuntu,打开本虚拟机的ssh网络服务。//安装sudoapt-getinstallopenssh-server//开启服务sudosystemctlstartssh//查看本地网络ifconfig,看到如下图,说明配置成功。必须是192.168开头的网段,否则需要关闭虚拟机重新配置网桥。具体配置如图:OK,Ubuntu到这里就搞定了,我们回到Windows继续。Windows工具配置入门打开文档:安装远程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为你的Vscode安装插件,如图:注:在左侧边栏,右键确认显示远程资源管理器。远程连接到Ubuntu。按照文档进行如图所示的操作:在此处的输入框中输入。sshUbuntuID@192.168.x.xx然后你会看到这个ssh配置文件存储框。这里有坑,我强烈不建议大家把配置文件存放在C盘的用户数据路径下。会出现权限拦截问题。这里我自定义了一个路径,自定义方法如下。在vscode插件扩展中输入@installed,找到remote-ssh,打开扩展设置。然后在ConfigFile设置中找到新建config文件的路径,把路径写进去。再回到这个框。选择之后,我们就看到了这个文件的具体内容。单击文件夹新样式的图标,将打开一个新的vscode窗口。输入你的Ubuntu账号的passwd登录,就可以像本机一样管理Ubuntu项目了。再输入passwd就可以看到上图的效果了。。。现在知道为什么这个版本的Ubuntu没有vscode的可视化插件了。新技术用上了~~~以后个人开发者不用再去飞天的Ubuntu虚拟机上修改源码了。所以现在万里长征才进行了一半,继续安装windows的devicetool插件。这个很简单,按照文档自己下载插件安装即可。打开文档:安装Windows版的DevEcoDeviceTool。下载链接: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我们需要做的最后一件事确认是这样,如图:开始编译。https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-build.md这里文档有问题。我们被要求查看项目设置,但我们还没有创建新项目!所以这里我们需要先新建一个项目,然后按照文档进行操作。导入项目,按照图中箭头打开插件“项目”-->“导入项目”-->然后在Ubuntu中选择我们完整的项目源码路径。选择-“项目源代码导入”。然后你就可以看到了。然后我们可以按照文档进行操作。这里有一点需要注意。如果OpenHarmony的工具链检测流行起来,请不要开始编译。因为整个编译过程最多需要4-5个小时,一个错误中断就是在浪费生命。珍惜生命,不要走红。等到这里安全了,再执行插件脚本命令。当你能看到编译过程崩溃时,最好是看到“ace引擎目录”开始编译时,你就可以睡觉了。当然,上面这句话是我自己一次性编译的亲身经历。编译后,你会看到这样的终端显示:地球母亲保护你,祝你好运。开始燃烧终于到了开始燃烧的时候了!准备了这么久的win+ubuntu混合开发模式,终于在这里体会到了方便。直接点击上传脚本命令直接烧录!!哦哦哦哦等等,板还没有插上。哦哦哦哦等等,驱动还没有安装。打开文件下载:烧录。https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md。上传脚本执行过程需要5-10分钟。文档中少了两个步骤!!等待时您将看到以下屏幕。第一步是要求您按回车键,但请慢慢来。先关掉360等各种杀毒软件的防火墙,不要问为什么。按回车后你会看到。开发板未处于加载程序模式。请按住VOL+键,3秒后按RESET键,3秒后松开VOL+键。国外这句的意思是:按住音量加键3秒,然后按复位键,听到驱动掉线的声音不要松开音量键,等驱动接上看看终端在释放音量按钮之前刷新新内容。打开游记OpenHarmony3.1烧完后不会自动启动,再按一下reset键。一些感悟:1:真的很麻烦。2:但是用现成的工具烧就行了,成功了还好,不成功就比较麻烦了。(我是跟着连老师的视频按reset键的,死活就是试装不成功,没办法。)3:docker确实方便,但是了解了更多的配置和原理linux系统和ohos编译依赖环境。(主要是听说过docker,除了云服务器,一直没在本机配置成功,对我来说也是个问题。)4:充分使用华为官方提供的工具后,可能与他们开发ohos系统的方式相同。vscode+remote-ssh组成的windows+ubuntu混合开发模式,实在是太方便了。5:已经有写自定义底层组件的冲动了。(虽然我擅长cpp,但也不是不行:-)了解更多开源,请访问:开源基础软件社区https://ost.51cto.com。