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 运行QEMU模拟不同的硬件单板脚本文件

图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

    文章

    732

    浏览量

    15082
  • OpenHarmony
    +关注

    关注

    25

    文章

    3561

    浏览量

    15844
  • 鸿湖万联
    +关注

    关注

    1

    文章

    62

    浏览量

    605
收藏 人收藏

    评论

    相关推荐

    动力子公司鸿发布SwanLinkOS 5

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

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

    在刚刚落下帷幕的首届H•I³AI探索峰会上,动力再次于鸿蒙生态领域实现突破。此次活动中,动力高级副总裁、鸿
    的头像 发表于 09-03 11:37 373次阅读
    <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 433次阅读

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

    在刚刚落下帷幕的华为开发者大会2024上,伴随全场景智能操作系统HarmonyOSNext的盛大发布,作为基于OpenHarmony的同根同源系统生态,动力子公司
    的头像 发表于 07-02 09:57 308次阅读
    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 235次阅读
    <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:43 466次阅读
    矿<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 218次阅读
    以不竭之<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 342次阅读

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

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

    精彩回顾·2023开放原子开发者大会 动力携子公司鸿助推开源生态破浪前行

    原文标题:精彩回顾·2023开放原子开发者大会 动力携子公司鸿
    的头像 发表于 12-20 18:40 326次阅读

    动力子公司鸿亮相2023年开源产业生态大会

    和技术精英,旨在通过探索开源技术创新与应用,展示开源最佳时间,推动千行百业加速增长。 作为OpenHarmony生态坚定的引领者和建设者,动力子公司鸿
    的头像 发表于 12-20 09:45 307次阅读
    <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>亮相2023年开源产业生态大会

    拥抱开源力量,动力子公司鸿助阵OpenHarmony城市推介会·武汉市成功举办

    动力子公司鸿受邀参会并参与主题分享。 在题为 “开源驱动创新,鸿
    的头像 发表于 12-08 20:45 522次阅读

    动力子公司鸿亮相MTSC2023深圳大会

    专场论坛议题分享和展区展品精彩展示,为与会者带来一场技术盛宴。 动力子公司鸿作为
    的头像 发表于 11-25 19:35 639次阅读

    乘“鸿蒙”东风 动力子公司鸿扬帆

    本次大会通过"1+N+S"系列活动进行串联融合,在大会重磅环节"开源生态建设论坛"上,动力子公司鸿
    的头像 发表于 10-26 14:59 413次阅读

    标准系统:扬帆系列开发板(RK3568)

    开发板名称(芯片型号) 扬帆系列开发板(RK3568) 芯片架构 Cortex-A55 CPU频率 2.0GHz 介绍(字数请控制在2
    发表于 10-19 10:39