当OpenHarmony遇上OpenEuler 原创 精华
当OpenHarmony遇上OpenEuler
【本文正在参与优质创作者激励】
openEuler 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的另外一个的开源项目。2019年9月华为宣布开源服务器操作系统EulerOS,并命名为 openEuler。openEuler愿景是:通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。
openEuler是基于Linux稳定内核发展起来的。Linux常用发行版基本上可以分为三大系列:Redhat系,Debian系,Arch系。RedHat、Fedora、CentOS属于RedHat,Debian、Ubuntu属于Debian系。同一系列的linux发行版安装界面、操作过程,都非常接近。
刚毕业的时候,捣鼓自己的机器安装双操作系统,安装过Fedora,仅限于安装,后续的工作上还是使用Ubuntu较多。OpenHarmony开源社区使用的也是Ubuntu编译器服务器。这两天,正好尝试了使用openEuler编译下OpenHarmony,简单又顺利,记录下过程,万一有人需要呢。
1、 安装openEuler
虚拟机、物理机器当然都可以安装。虚拟机又可以使用WSL、或者VMWare、VirtualBox虚拟机软件,如果需要安装最新版本,建议使用后者。当前WSL只支持OpenEuler 20.03。
1.1 WSL openEuler
WSL的安装都是程序员的必备技能了,不展开如何开启WSL了。打开Windows Store搜索openEuler,如下图所示,进行安装即可。
安装后,可以查看版本信息:
1.2 虚拟机安装
可以访问openEuler镜像服务器https://repo.huaweicloud.com/openeuler/,下载ISO文件,如https://repo.huaweicloud.com/openeuler/openEuler-21.09/ISO/x86_64/openEuler-21.09-everything-x86_64-dvd.iso。然后使用VMWare或者VirtualBox安装。本文以WSL openEuler为例,虚拟机安装也比较简单,不再展开。
安装服务器后,执行uname -a查看系统架构,根据架构下载不同的openEulerOS.repo到/etc/yum.repos.d/目录下,执行下述命令设置软件包镜像。
这里就想放张图,比较喜欢华为云镜像服务器https://mirrors.huaweicloud.com,大家也可以访问试试。
2、准备编译OpenHarmony的软件环境
参考在Ubuntu编译服务器上编译OpenHarmony的软件环境,准备openEuler上的环境。主要参考文件为:https://gitee.com/openharmony/docs/blob/master/docker/Dockerfile,还有获取源代码文档页面。使用的openEuler版本就是WSL openEuler 20.03。
2.1 安装软件包
下面这些软件包对有些开发板的编译可能是不全的,需要另行安装些其他软件。⑴处命令会安装gcc、c++等开发相关的软件包。对于openEuler 20.03,安装的gcc版本为V7.3.0,版本有些低。如果有需要高版本gcc比如 gcc 9.3.0版本,建议使用更高版本的openEuler。
2.2 安装工具软件
下面安装的工具软件中,部分工具软件对有些开发板是冗余,非必要的,都先安装下。首先wget获取软件压缩包,然后解压,最后在环境变量配置文件中进行增加。
2.3 安装git-lfs
可以在站点https://gitee.com/mirrors/git-lfs获取git-lfs的源码,进行源码安装git-lfs,但是还需要安装Go等,环境准备复杂。我们这里使用现成的rpm文件来安装git-lfs,如下。
2.4 安装交叉编译工具arm-none-eabi-gcc
下载、解压、加入环境变量配置文件,可以根据需要变更交叉编译工具的版本,此处使用的是gcc-arm-none-eabi-9-2020-q2。
2.5 安装Python
我们从源码安装Python,需要先安装openssl-devel软件包,否则可能会报“pip is configured with locations that require TLS/SSL, however the…”的错误。从华为云镜像下载Python源码压缩包,解压,配置、编译安装,然后创建软连接文件/usr/local/bin/python、/usr/local/bin/pip。
安装完毕配置下pypi镜像,创建文件~/.pip/pip.conf,打开vi编辑器。
输入如下内容:
根据提示,可以升级下pip版本:
2.6 安装ccache
执行下述命令可以完成安装ccache,非最新版本。最新版本可以访问https://github.com/ccache/ccache/blob/master/doc/INSTALL.md,由于需要CMake、C++ 14,对编译环境要求较高,我们使用次新版本ccache-3.6,已经可以满足要求。
3、下载OpenHarmony代码
3.1 配置git和ssh key
执行下述命令,设置git用户和提交邮箱。
然后访问https://gitee.com/profile/sshkeys,设置SSH信息。使用下述命令生成SSH Key信息,然后复制到网页即可。
添加SSH Key后,在终端(Terminal)中输入:
首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
3.2 安装码云repo工具
安装码云repo工具,执行下述命令即可。
3.3 获取代码
获取源码代码的目录如下。
4、 编译OpenHarmony
以openharmony/vendor/bestechnic/display_demo为例进行编译。成功编译后,输入如下:
小结
本文先介绍了如何在openEuler WSL版本上安装必备的软件包,工具软件,然后下载OpenHarmony源代码并成功进行编译,感兴趣的可以自行尝试。有啥问题随时留言给我。谢谢。
过程中漏了 ,下载源代码后,需要执行下述命令安装hb。。。。
长见识了
是不是无用的知识又增加了 O(∩_∩)O哈哈~
Ubuntu也挺好的。。。
多学点总没坏处,指不定是下一个风口