3225|3

2549

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

【小熊派BearPi-HM Micro】二:从零搭建OpenHarmony编译环境 [复制链接]

本帖最后由 数码小叶 于 2022-3-26 15:36 编辑

        对于OpenHarmony的编译环境,可以选择简单的方式,就是直接使用小熊派提供的系统镜像,但是抱着学习的心态,还是从零开始,因此,之前的虚拟机也没使用,重新来个新的虚拟机。在ubuntu18和20之间纠结了一下,最后还是选择了熟悉的18。纠结的原因就是因为看到了环境要求里有一条,python的版本3.7以上。而ubuntu 18低于这个版本。

       对于国内的使用环境,安装完ubuntu后的第一件事就是换源了,那就得编辑sources.list 文件,然后前提自然是安装个vim了,这个比较快速的解决了

sudo vim /etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

 

然后是升级python,这个花了很长时间才彻底搞定,一直各种奇葩错误,各种装了卸、卸了装

async = reply_handler and error_handler:
^
SyntaxError: invalid syntax

 

ModuleNotFoundError: No module named 'apt_pkg'

 

cannot import name '_gi'

 

本来以为是缺模块,然而实际是你安装不完的无底洞,才发现不是表面的意思,各种折腾,最后解决了

$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt install python3.9

deadsnakes由第三方维护的PPA软件源,可以方便的来安装所需要的Python版本,其紧随Python官方进行更新

 

中间在切换python版本上也花费了很多时间,导致ubuntu的更新以及语言支持,还有一些组件都无法打开,因为默认的依赖版本依旧是python3.6

 

 

还需要复制几个文件

sudo cp _gi.cpython-36m-x86_64-linux-gnu.so _gi.cpython-39m-x86_64-linux-gnu.so
sudo cp _gi_cairo.cpython-36m-x86_64-linux-gnu.so _gi_cairo.cpython-39m-x86_64-linux-gnu.so
sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so  apt_pkg.cpython-39m-x86_64-linux-gnu.so

 

 

再安装编译安装编译所需的必要的库和工具

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler net-tools openssh-server git vim openjdk-11-jre-headless

 

安装hb,hb是Openharmony的编译构建命令行工具,就是这个hb需要高版本的python支持,然而依旧是安装不顺利

 

最后找到一个办法,可以到源码里安装,那就下载源码

 

 

 

 

还少一个mkimage.stm32工具,从windows下复制过去,修改权限

 

这样就可以编译源码了

 

但是报错了,提示找不到mkimage.stm32工具

 

奇怪的是实际输入指令是可以运行的

 

各种找原因,最后发现根源出在shell上,把shell换成bash,解决

这一点还是第一次知道,然后科普了一下,发现官方介绍它俩的差距,有好几页。。。不过简单概括就是,bash是增强版的shell

 

编译源码成功,虽然从头搭建环境,花了很多时间,不过中间对Openharmony的了解也就更深了。

最新回复

还没用过21的,一直用的20的。   详情 回复 发表于 2022-3-29 13:02
点赞 关注

回复
举报

7158

帖子

2

TA的资源

版主

沙发
 

系统自带的Python确实不好升级,容易出各种报错。

点评

据说21版的升到3.9了,不知道是不是  详情 回复 发表于 2022-3-28 22:25
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
wangerxian 发表于 2022-3-28 14:15 系统自带的Python确实不好升级,容易出各种报错。

据说21版的升到3.9了,不知道是不是

点评

还没用过21的,一直用的20的。  详情 回复 发表于 2022-3-29 13:02
 
 
 

回复

7158

帖子

2

TA的资源

版主

4
 
数码小叶 发表于 2022-3-28 22:25 据说21版的升到3.9了,不知道是不是

还没用过21的,一直用的20的。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
一个ARM7的手册,全部的语言格式和用法

一个ARM7的手册,全部的语言格式和用法

LPC1343学习笔记(连载中)--6月21日新增第十二篇

有幸拿到了EEWORLD论坛的LPC1343评估板,实在是一件意外而激励人心的事情。为感谢EEWORLD和NXP,特将学习过程与大家共同分享。也 ...

2011 TI M3 DAY资料提前放出

明天TI M3 DAY就要开始了,提前放出相关资料,感兴趣的朋友可以预习一下。 本帖最后由 jkhu 于 2011-6-19 23:19 编辑 ]

我的Beaglebone学习历程

整理一下前面发的帖子,搞个总帖,方便大家交流。1.BeagleBone 硬件性能测试 _周计划https://bbs.eeworld.com.cn/thread-324885- ...

GD32F105RBT6和 STM32F103RBT6是完全兼容的,程序也完全兼容吗?

GD32F105RBT6和 STM32F103RBT6是完全兼容的,一个引脚都不差,,,下载程序的接口也一样的,,,是不是可以直接使用原来STM32里 ...

【Silicon Labs 开发套件评测】+SPI flash(MX25R8035F)

在很多应用中,需要保存配置参数。一般都会外接一个存储器来存储,数据比较少会使用EEPROM,使用SPI flash的也比较多,存储空间 ...

【基于NUCLEO-F746ZG电机开发应用】12.参数配置-定时器TIM1配置

在伺服电机的控制过程中,使电机能够按照自己的想法转起来,一定要用到PWM输出控制,但是PWM该如何产生,频率如何控制,占空比 ...

瑞萨CPK-RA6M4 开发板测评----I2C

功能模块的硬件介绍-->I2C I2C(Inter Integrated Circuit)总线是 PHILIPS 公司开发的一种半双工、双向二线制同步串 ...

二极管常用的8个用途

之前有个版本是7中用途 二极管是十分常用的基础元器件,本文主要介绍了二极管的一些作用,比如防反、整流、稳压、续流、检波 ...

visionfive的星光2开发板移植openwrt上篇--编译篇

本帖最后由 怀揣少年梦 于 2023-8-15 23:57 编辑 ###一、openwrt是什么? openwrt是一个常用于路由器嵌入式linux操作系统 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表