0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】OpenHarmony源码编译环境攻略

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-13 10:30 次阅读

本文来源电子发烧友社区,作者:ITMING, 帖子地址:https://bbs.elecfans.com/jishu_2307430_1_1.html


前言

通过【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】认识"竞"笔者带大家认识了扬帆系列“竞”开发板,本节将讲解OpenHarmony源码编译环境搭建以及将编译OpenHarmony标准系统烧录到“竞”开发板。

OpenHarmony标准系统位开发者提供了两种源码编译、烧录的方式:

  • IDE方式:完全采用IDE(DevEco Device Tool)进行一站式开发,编译依赖工具的安装及编译、烧录、运行都通过IDE进行操作。
  • 安装包方式:通过命令进行编译依赖工具的下载安装,编译操作也通过命令实现。

笔者更喜欢使用第二种安装包方式,但本文中笔者使用Ubuntu+瑞芯微开发工具的方式进行源码编译及烧录。

1 安装VMware Workstation Player

VMware Workstation Player(以下简称VM Player)是一款桌面虚拟化应用,可以在当前计算机上运行一个或多个其他操作系统,在后面小节中编译OpenHarmony源代码需要使用Ubuntu操作系统,因而小节会带读者安装VM Player。当然读者也可以选择其他的虚拟化应用程序,如需要授权的VMware Workstation Pro,或者Virtual Box,甚至读者还可以使用云虚拟机。

1.1 下载VM Player

在浏览器中打开VM Player下载地址,展开左侧菜单栏下的工作空间,点击桌面Hypervisor菜单,右侧内容区定位到具体的模块,点击Workstation Player卡片进入到下载界面,如图1-1所示。

图1-1 VM Player下载地址

点击页面中的“免费下载”按钮,等待下载完成,如图1-2所示。

图1-2 下载VM Player

1.2 安装VM Player

下载完成后,读者会在下载存储路径文件夹中得到VM Player安装包,如VMware-player-full-xxx.exe文件,然后双击安装包,打开安装向导,如图1-3所示。

图1-3 安装向导

点击安装向导界面中“下一步”按钮,打开VMware最终用户许可协议,勾选“我接受许可协议中的条款”(感兴趣的话也可以读一读),如图1-4所示。

图1-4 VMware最终用户许可协议

接着点击“下一步”按钮,进入到VM Player安装路径设置界面,如图1-5所示。点击“更改”按钮设置VM Player安装位置,建议安装到除C盘之外的其他磁盘中,若只有一个磁盘,则忽略,如图1-6所示。

图1-5 VM Player自定义安装

图1-6 更改VM Player安装路径

更改完路径后,点击“确定”按钮回到自定义安装界面,点击“下一步”按钮,进入用户体验设置界面,可默认,也可取消勾选,如图1-7所示。

图1-7 用户体验设置

接着点击“下一步”按钮,进入快捷方式设置界面,勾选桌面和开始菜单程序文件夹,方便打开应用程序,如图1-8所示。

图1-8 快捷方式

点击“下一步”按钮,进入到VM Player安装界面,点击“安装”按钮进行安装,如图1-9所示。

图1-9 安装VM Player

等待安装完成后,点击“完成”按钮(若个人使用点击“跳转许可”按钮即可),如图1-10所示。

图1-10 完成安装

1.3 初次体验VM Player

双击桌面VMware Workstation 16 Player图标,打开VM Player应用程序,如图1-11所示。

图1-11 VM Player欢迎页

由于开发板需要连接到主机上,所以此处做额外的设置,点击菜单栏Player,选择文件选项下的首选项,在USB列表中勾选“将设备连接到主机”,如图1-12所示。

图1-12 更改设备连接主机

2 准备Ubuntu 20.04 系统镜像包

Ubuntu是一个以桌面为主的Linux操作系统,是编译OpenHarmony源代码必要的环境之一,打开官网下载链接下载Ubuntu 20.04桌面版(64位),如图2-1所示。

图2-1 下载Ubuntu 20.04

注:由于下载的文件格式为.torrent,因此需要使用迅雷下载完整的ISO文件,当然读者也可以使用国内镜像网站下载Ubuntu 20.04。

3 创建名为OpenHarmony虚拟机并安装Ubuntu操作系统

1、2小节准备了OpenHarmony源代码编译所需的虚拟机和Ubuntu操作系统镜像包,本节将带读者创建名为OpenHarmony的虚拟机并安装Ubuntu操作系统。

3.1 创建名为OpenHarmony虚拟机

点击VM Player欢迎页中的创建新虚拟机,打开新建虚拟机向导,勾选“稍后安装操作系统”,如图3-1所示。

图2-1 新建虚拟机向导

点击“下一步”按钮,打开选择客户机操作系统界面,客户操作系统选择Linux,版本选择Ubuntu 64位,如图3-2所示。

图3-2 选择客户机操作系统

点击“下一步”按钮,打开命名虚拟机界面,设置虚拟机名称和虚拟机存储位置,如图3-3所示。

图3-3 命名虚拟机

点击“下一步”按钮,打开指定磁盘容量界面,为虚拟机磁盘指定磁盘大小(建议100GB以上),同时选择虚拟磁盘存储方式,如图3-4所示。

图3-4 指定磁盘容量

点击“下一步”按钮,打开已准备好创建虚拟机界面,该界面中显示当前创建的虚拟机各项配置。点击“完成”按钮,完成虚拟机创建,如图3-5所示。

图3-5 完成虚拟机创建

在VM Player左侧虚拟机管理区,点击OpenHarmony菜单项,切换到名称为OpenHarmony的虚拟机,然后点击“编辑虚拟机设置”,进行虚拟机细项配置,如图3-6所示。

图3-6 编辑虚拟机设置

打开虚拟机设置界面默认硬件选项卡,首先设置虚拟机内存大小,建议读者设置为8G以上,然后点击“确定”按钮应用配置,如图3-7所示。

图3-7 设置虚拟机内存大小

接着在硬件选项卡中,点击CD/DVD(SATA)细项配置Ubuntu镜像路径,如图3-8所示。

图3-8 配置安装操作系统镜像文件路径

屏蔽开发板设备连接主机后虚拟机提示,移除硬件选项卡中的USB控制器,如图3-9所示。

图3-9 移除USB控制器

3.2 安装Ubuntu操作系统

3.1小节设置虚拟机各项细项完成后,点击名称为OpenHarmony主界面的播放虚拟机,等待操作系统加载完成,进入安装Ubuntu操作系统安装向导界面,并选择语言,如图3-10所示。

图3-10 Ubuntu操作系统安装向导

在安装向导界面,有“试用Ubuntu”和“安装Ubuntu”两个按钮选项,为了规避安装时存在部分界面无法全显的问题,这儿选择点击“试用Ubuntu”按钮,进入Ubuntu操作系统桌面后,打开终端,输入xrandr -s 1280x800设置分辨率。

接着双击Ubuntu桌面“安装Ubuntu 20.04.4 LTS”图标,进入真实安装向导界面,整个安装如图3-11~19所示。

图3-11 安装Ubuntu 20.04.4 LTS

图3-12 选择操作系统语言

图3-13 键盘布局

图3-14 更新和其他软件

图3-15 安装类型

图3-16 磁盘分区和格式化

图3-17 所在位置

图3-18 账户信息

图3-19 等待安装

4 准备OpenHarmony源码编译环境

在1~3小节为OpenHarmony源码编译准备好了前置约束条件,本小节将带读者搭建OpenHarmony源码编译环境。在正式开始之前,读者需要先将Ubuntu软件源改为国内镜像地址,打开设置-->关于-->软件更新,在Ubuntu软件页签中,更改软件源,如图4-1所示。

图4-1 更改软件源

注:更改完成后,打开终端输入sudo apt-get updatesudo apt-get upgrade进行同步。

4.1 配置Ubuntu环境

启动上节准备安装好的Ubuntu操作系统虚拟机,打开终端,执行以下命令检查Shell环境是否为bash,如图4-2所示。

ls -l /bin/sh

图4-2 检查Shell环境是否为bash

如图为dash,因此执行以下命令进行更改,如图4-3所示。

sudo dpkg-reconfigure dash

图4-3 更改Shell环境为bash

注:更改完成后,执行图4-2命令再次检查是否切换成功。

4.2 安装DevEco Device Tool软件包。

  1. 下载最新DevEco Studio ToolLinux(64-bit)版本,如图4-4所示。

图4-4 下载DevEco Studio Tool

  1. 执行以下命令解压下载的devicetool-linux-tool-3.1.0.200.zip,如图4-5所示。
unzip devicetool-linux-tool-3.1.0.200.zip

图4-5 使用命令解压下载软件包

  1. 执行命令赋予安装文件可执行权限。
chomd u+x devicetool-linux-tool-3.1.0.200.sh
  1. 执行以下命令,安装DevEco Device Tool,在用户协议和隐私声明签署界面,选择同意项(使用TAB键切换到“确定”按钮),如图4-6所示。
sudo ./devicetool-linux-tool-3.1.0.200.sh

图4-6 安装DevEco Device Tool

等待安装完成后,终端界面会显示“DevEco Device Tool successfully installed.”时,则证明安装成功,如图4-7所示。

图4-7 安装成功

4.3 获取并编译OpenHarmony源码

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,其代码是以组件的形式开放,开发者可以通过如下其中一种方式获取:

  • 使用repogit工具从gitee或github中下载,此方法可以获取到最新的代码;
  • 通过DevEco Marketplace网站获取;
  • 从镜像站点下载发行版压缩文件。

笔者使用第一种方式从gitee中获取OpenHarmony源代码.

  1. 使用以下命令安装gitgit-lfs,如图4-8所示。
sudo apt-get install git git-lfs

图4-8 安装git工具

  1. 执行以下命令为git配置用户信息(一定要有自己的码云账号),如图4-9所示。
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
git config --global credential.helper store

图4-9 配置用户信息

  1. 执行以下命令安装码云repo工具,如图4-10所示。
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

注意:若出现Failed to create the file /usr/local/bin/repo: 权限不够,则在命令行前加sudo

注意:若出现Command 'curl' not found, but can be installed with: sudo apt install curl,则执行命令sudo apt-get install curl安装curl插件。

图4-10 安装码云repo工具

  1. 获取源码方式有两种,一种使用repo+ssh方式,另一种repo+http方式,笔者使用的是第二种方式,不需要设置公钥。关于OpenHarmony源码可以获取主干代码也可以获取分支代码,前者为最新代码,笔者此处使用的是最新的代码。执行以下命令,获取OpenHarmony主干代码,如图4-11所示。
# 创建一个目录
mkdir -p ~/openharmony/coding && cd $_
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

图4-11 下载OpenHarmony主干代码

  1. 在源码根目录下执行prebuilts脚本,安装编译器及二进制工具,如图4-12所示。
bash build/prebuilts_download.sh

图4-12 安装编译器及二进制工具

  1. 打开存储OpenHarmony源码的目录,源码各目录说明如表4-1所示,源码目录如图4-13所示。
表4-1 OpenHarmony源码目录
目录名 描述
applications 应用程序样例,包括camera等
base 基础软件服务子系统集&硬件服务子系统集
arkcompiler 方舟编译器运行时组件系统,包括方舟运行时公共组件、JS转方舟字节码组件、方舟JS运行时组件及方舟工具链
build 组件化编译、构建和配置脚本
commonlibrary 提供公用基础库、C++功能函数和类、基础类库API
developtools 调试工具模块,包含类Web范式语法编译转换、语法验证、语法报错,性能调优模块,系统能力编解码工具,资源编译工具等
device 开发板和芯片适配源码
docs 说明文档
drivers 驱动子系统
foundation 系统基础能力子系统集
interface JavaScript API公共仓,存放d.ts声明文件
kernel 内核子系统
napi_generator NAPI框架生成工具
prebuilts 编译器及工具链子系统
productdefine 产品配置
test 测试子系统
third_party 开源第三方组件
utils 常用的工具集
vendor 厂商提供的软件
build.py .sh
qemu-run 运行QEMUinterwetten与威廉的赔率体系 不同的硬件单板脚本文件

图4-13 OpenHarmony源码目录

  1. 编译OpenHarmony源码
    笔者这里使用的是终端命令方式编译,在源码根目录打开终端,输入以下命令进行源码编译,如图4-14所示。
./build.sh --product-name yangfan --ccache

注:由于没有下载部分依赖工具,因此编译时会出现一些问题。缺失依赖工具如图4-15所示,使用以下命令进行安装。

sudo apt-get install default-jdk u-boot-tools mtd-utils scons gcc-arm-none-eabi gcc-arm-linux-gnueabi

图4-15 缺失依赖工具

安装完依赖工具后,再次执行源码编译命令,等待编译完成,如图4-16所示,出现yangfan build successbuild successful则表示编译成功。

图4-16 编译源码成功

源码编译后的产物在源代码根目录下out目录中,如图4-17所示。

图4-17 编译后的文件

注:编译yangfan源码适用于RK3399芯片,笔者手中的扬帆系列是“竞”开发板,是以RK3568芯片为主的,因此笔者选择重新编译源码使其适用于产品名称为rk3568,该源码典型应用是润和DAYU200开发板。

4.4 编译生成RK3568芯片镜像

适用于“竞”开发板的源码还未合入OpenHarmony主仓,因此笔者选择编译生成RK3568芯片镜像,使用以下命令重新编译。

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

使用命令方式第一次编译源码需要耗费一定的时间,等待编译完成,如图4-18所示。

图4-18 编译RK3568镜像

参照【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】认识"竞"文章第6小结使用瑞芯微将编译后的镜像烧录到“竞”开发板中,编译后的镜像位置源码根目录/out/rk3568/packages/phone/images/。烧录成功后,启动开发板会出现以下问题:

  • 开机动画不是SwanLinkOS;
  • DevEco Studio 无法识别设备;
  • 开发板息屏导致设备重新启动;
  • 界面布局错位。

5 小结

本节对OpenHarmony源码编译环境搭建、源码目录结构、针对性编译做了简单介绍,下章节将对源码进行魔改,以适配“竞”开发板。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软通动力
    +关注

    关注

    1

    文章

    791

    浏览量

    15144
  • OpenHarmony
    +关注

    关注

    25

    文章

    3716

    浏览量

    16271
  • 鸿湖万联
    +关注

    关注

    1

    文章

    68

    浏览量

    634
收藏 人收藏

    评论

    相关推荐

    鸿亮相OpenHarmony人才生态大会2024

    近日,由开放原子开源基金会指导,OpenHarmony项目群工作委员会主办的OpenHarmony人才生态大会2024在武汉隆重举办。动力子公司
    的头像 发表于 11-30 10:41 271次阅读

    动力携子公司鸿通教育助阵首届鸿蒙生态大会成功举办

    11月23日·中国深圳,首届鸿蒙生态大会上,动力动力子公司鸿
    的头像 发表于 11-29 10:25 174次阅读
    <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>携子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>、<b class='flag-5'>软</b>通教育助阵首届鸿蒙生态大会成功举办

    动力子公司鸿发布SwanLinkOS 5

    在近日圆满闭幕的首届H•I³ AI探索峰会上,动力凭借其深厚的威廉希尔官方网站 实力与创新精神,在鸿蒙生态领域再次迈出坚实步伐。会上,动力携手子公司鸿
    的头像 发表于 09-04 16:50 821次阅读

    动力子公司鸿重磅发布SwanLinkOS 5,擘画开源鸿蒙AI PC新篇章

    在刚刚落下帷幕的首届H•I³AI探索峰会上,动力再次于鸿蒙生态领域实现突破。此次活动中,动力高级副总裁、鸿
    的头像 发表于 09-03 11:37 548次阅读
    <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>重磅发布SwanLinkOS 5,擘画开源鸿蒙AI PC新篇章

    动力旗下鸿荣获矿鸿OSV生态合作伙伴授牌

    近日,鄂尔多斯临港经济区见证了矿鸿OSV生态合作伙伴授牌仪式的隆重举行。在这场汇聚行业精英的盛会中,动力旗下的鸿
    的头像 发表于 08-14 14:50 561次阅读

    SwanLinkOS首批实现与HarmonyOS NEXT互联互通,动力子公司鸿助力鸿蒙生态统一互联

    在刚刚落下帷幕的华为开发者大会2024上,伴随全场景智能操作系统HarmonyOSNext的盛大发布,作为基于OpenHarmony的同根同源系统生态,动力子公司
    的头像 发表于 07-02 09:57 495次阅读
    SwanLinkOS首批实现与HarmonyOS NEXT互联互通,<b class='flag-5'>软</b>通<b class='flag-5'>动力</b>子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>助力鸿蒙生态统一互联

    动力子公司鸿携多款重磅创新产品亮相华为开发者大会

    如何引领行业进步,共同探索鸿蒙生态与AI大模型的发展新契机。作为本次大会钻石级合作伙伴,动力携子公司鸿
    的头像 发表于 06-25 11:38 351次阅读
    <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>携多款重磅创新产品亮相华为<b class='flag-5'>开发</b>者大会

    动力携子公司鸿中标南方电网调峰调频发电有限公司数据采集装置研究开发项目

    近日,动力携子公司鸿联成功中标南方电网调峰调频发电有限公司数据采集装置研究开发项目。该项
    的头像 发表于 06-25 10:25 368次阅读
    <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>携子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>中标南方电网调峰调频发电有限公司数据采集装置研究<b class='flag-5'>开发</b>项目

    鸿蒙OpenHarmony【搭建Ubuntu环境

    支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译
    的头像 发表于 04-19 16:53 1276次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【搭建Ubuntu<b class='flag-5'>环境</b>】

    鸿蒙OpenHarmony【搭建Windows环境

    支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译
    的头像 发表于 04-19 15:42 598次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【搭建Windows<b class='flag-5'>环境</b>】

    鸿生态“加速跑” 动力子公司鸿荣膺华为“矿鸿生态使能合作伙伴”

    。在本次展会上,动力子公司鸿受邀参与了华为矿鸿
    的头像 发表于 04-02 15:43 562次阅读
    矿<b class='flag-5'>鸿</b>生态“加速跑” <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>荣膺华为“矿<b class='flag-5'>鸿</b>生态使能合作伙伴”

    以不竭之动力 深耕人才沃土 | 动力及子公司鸿联共推开源人才培养

    人才生态大会(以下简称“大会”)在上海隆重举行。在议题分享环节,动力子公司鸿战略规划部
    的头像 发表于 04-02 15:32 282次阅读
    以不竭之<b class='flag-5'>动力</b> 深耕人才沃土 | <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>及子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b>联共推开源人才培养

    共谱开源新篇章 动力子公司鸿与鸿蒙生态服务公司签署战略合作协议

    近日,动力子公司鸿与鸿蒙生态服务(深圳)有限公司(以下简称“鸿蒙生态服务公司”)成功签
    的头像 发表于 04-02 15:23 483次阅读
    共谱开源新篇章 <b class='flag-5'>软</b>通<b class='flag-5'>动力</b>子公司<b class='flag-5'>鸿</b><b class='flag-5'>湖</b><b class='flag-5'>万</b><b class='flag-5'>联</b>与鸿蒙生态服务公司签署战略合作协议

    动力子公司鸿多名讲师荣获首批“鸿蒙原生应用开发培训讲师”认证

    近日,由鸿蒙生态服务公司组织开展的国内首批“鸿蒙原生应用开发培训讲师”认证顺利完成。作为此次认证的重要参与者,鸿申报的四位鸿蒙资深专家
    的头像 发表于 03-25 09:24 440次阅读

    动力子公司鸿战略签约鄂尔多斯工业互联网平台

    多方力量,旨在通过构建创新交流平台,凝聚智慧力量,进一步巩固鄂尔多斯市工业互联网建设成果,充分发挥矿鸿产业优势,加快工业互联网基础设施建设。动力子公司鸿
    的头像 发表于 01-22 13:57 537次阅读