【XR806开发板试用】踩坑deepin20,回归ubuntu,开发环境

首先,感谢给予XR806的试用机会。由于之前使用过deepin进行过开发,使用了很长的一段时间,印象还是不错的,所以,这次就想用deepin进行xr806的开发,但过于折腾。

sudo 安装

1. 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
2. sudo apt-get install git

3. sudo apt-get install libncurses5-dev
4. sudo apt install software-properties-common
5. sudo apt-get install python3-setuptools python3-pip -y
6. sudo pip3 install --upgrade pip
7. sudo apt install python3-pip

源码下载

看过一些其他的网友的一些环境配置的帖子,很多都下载了openharmony的源码,而且这个源码有近9G的大小,下载又比较慢,但最后确定,这是不必要有。即openharmony的完整源码是不必下载的。

官方下载使用的是repo,对于没有repo的网友,可以进行安装,按官方的方式是可以的,我这里的方式如下:

mkdir tools 
cd tools
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
chmod a+x git-repo/

在~/.profile中添加环境变量,设置repo路径与清华源

export PATH=~/tools/git-repo:$PATH

export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
source ~/.profile

通过repo + ssh 下载(需注册公钥):SSH 公钥设置 - Gitee.com
虽然下载openharmony源码并不是必要的,也在这里列出了。
通过repo + ssh 下载

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

通过repo + https 下载

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

坑1、deepin下载时,会有如下的问题,

在这里插入图片描述

这里,要安装git-fls

sudo apt-get install git-lfs

坑2、channot checkout xxxxxx

在这里插入图片描述

sudo apt-get install libncurses5-dev

坑3、ppa的使用问题,各种could not find 问题。

Deepin/stable不适用这种三方ppa,由于deepin切换到了Debain的软件仓库,而不是ubuntu的仓库了,虽然是可以修改软件源来切换,但为了防止后面一些玄学问题,就放弃在deepin上进行xr806的开发了,还是老老实实的在ubuntu上吧.

相同的操作,在ubuntu20是,就没有问题。
在这里插入图片描述

由于下载源码时,正好原官方仓库不可用,就使用了临时的仓库。会有如下的问题,而且会卡在92%的进度上。
在这里插入图片描述

这里要停止一下,修改文件/xr806_openharmony/.repo/manifests/devboard_xr806.xml,删除35行与115行后,重新repo sync -c,之后是可以完成的,但是源码是不完整的。要进行如下操作,重新下载缺失的源码。

/xr806_openharmony/device/与/xr806_openharmony/vendor/两个目录下,分别执行如下 命令

git clone https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806 xradio  

git clone https://gitee.com/moldy-potato-chips/devboard_vendor_allwinner_xr806 xradio

代码下载完成。
在这里插入图片描述

编译

安装hb

python3 -m pip install --user ohos-build
添加环境变量:export PATH=~/.local/bin:$PATH
source ~/.profile 

编译

官方的第二个命令有一个拼写错误,如下是正确。

cd device/xradio/xr806/xr_skylark 

(1)进入原生SDK目录

cp project/demo/audio_demo/gcc/*defconfig* .config 

(2)复制配置文件

make menuconfig 

(3)图形化界面配置

make build_clean  

(4)清除旧配置

make lib -j  

(5)根据配置生成静态库和全局头文件

cd -

(6)返回Harmony根目录

hb set  

(7)选择wifi_skylark

hb build -f 

在这里插入图片描述

固件在device/xradio/xr806/xr_skylark/out,名称为xr_system.img
在这里插入图片描述

XR806的固件烧录程序,在device/xradio/xr806/xr_skylark/tools中,是个exe的程序,要复制到windows下来。
固件烧写,参考如下:固件烧录 - XR806 (aw-ol.com):

在这里插入图片描述

升级完成
在这里插入图片描述

来来回回折腾了两天,终于算是把环境弄起来了,主要是deepin上耽误的时间比较多。

后记:

重新把deepin的环境又折腾了一遍,最后编译通过了,可能是前期折腾了太多,不小心修改了系统的一些配置,重新安装了deepin的虚拟机后,成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/407542.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

128 Linux 系统编程6 ,C++程序在linux 上的调试,GDB调试

今天来整理 GDB 调试。 在windows 上我们使用vs2017开发,可以手动的加断点,debug。 那么在linux上怎么加断点,debug呢?这就是今天要整理的GDB调试工具了。 那么有些同学可能会想到:我们在windows上开发,…

Threejs 实现3D影像地图,Json地图,地图下钻

1.使用threejs实现3D影像地图效果,整体效果看起来还可以,底层抽象了基类,实现了通用,对任意省份,城市都可以只替换数据,即可轻松实现效果。 效果如下: 链接https://www.bilibili.com/video/BV1…

nginx 模块 常见内置变量 location

一、nginx 模块 ngx_http_core_module 核心模块 ngx_http_access_module 访问控制模块 deny allow ngx_http_auth_basic_module 身份验证 小红小名(虚拟用户) ftp也有虚拟用户 ngx_http_gzip_module 压缩模块 ngx_http_gzip_static_modul…

LeetCode二叉树中的第 K 大层和

题目描述 给你一棵二叉树的根节点 root 和一个正整数 k 。 树中的 层和 是指 同一层 上节点值的总和。 返回树中第 k 大的层和(不一定不同)。如果树少于 k 层,则返回 -1 。 注意,如果两个节点与根节点的距离相同,则…

互联网广告投放与IP地理位置定位

随着互联网的发展和普及,互联网广告投放成为各行业推广营销的重要方式之一。而结合IP地理位置定位技术,可以实现精准定向,提高广告投放的效果和精准度。IP数据云将探讨互联网广告投放与IP地理位置定位的关系,分析其优势和应用场景…

Android LinearLayout 如何让子元素靠下居中对齐 center bottom

Android LinearLayout 如何让子元素靠下居中对齐 center bottom 首先你需要知道两个知识点: android:layout_gravity 指定的是当前元素在父元素中的位置android:gravity 指定的是当前元素子元素的排布位置 比如: 有这么一个布局,我需要让…

【Java程序设计】【C00279】基于Springboot的智慧外贸平台(有论文)

基于Springboot的智慧外贸平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧外贸平台 本系统分为系统功能模块、管理员功能模块、买家功能模块以及商家功能模块。 系统功能模块:在平台首页可以…

snowflake雪花算法

snowflake雪花算法 雪花算法是由Twitter开源的由64位整数组成分布式ID,性能较高,并且在单机上递增。 为什么叫分布式ID生成器? 因为10bit-工作机器id。 雪花算法(Snowflake Algorithm)之所以适用于分布式系统&#…

opengl 学习纹理

一.纹理是什么? 纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;类似于图像一样,纹理也可以被用来储存大量的数据,这些数据可以发送到着色器上。 采样是指用纹理坐标来获取纹…

代码随想录算法训练营第50天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

文章目录 123.买卖股票的最佳时机III思路代码 188.买卖股票的最佳时机IV思路代码 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳时机III 文章讲解:代码随想录|123.买卖股票的最佳时机III 视频讲解:123.买卖股票的最佳时机III 思路 …

7分钟0基础彻底理解常用数据压缩原理---哈夫曼编码

前言 如果你之前没有做过数据压缩,或者想要了解数据压缩的原理,那么这编文章将会帮到你。这编文章将会带你彻底了解哈夫曼编码原理,这种编码方式常用作的图片无损压缩,和ZIP的等压缩存储。 思考,计算机的存储与解析获…

消息中间件篇之RabbitMQ-延时队列

一、延时队列 延迟队列:进入队列的消息会被延迟消费的队列。 场景:超时订单、限时优惠、定时发布。 延迟队列死信交换机TTL(生存时间)。 二、死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信&#xf…

LVS的工作模式及其原理

1、LVS 介绍 (1)LVS 是Linux Virtual Server的简称,也就是 Linux 虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,因此性能较高…

注册中心 Service Discovery --- Intro

注册中心 Service Discovery --- Intro 为什么需要注册中心注册中心的原理常用的注册中心注册中心的高可用 为什么需要注册中心 在微服务架构中,系统被拆分成了若干个独立的服务,因此服务之间需要进行通信和协作。为了实现服务的发现和调用,需…

一周学会Django5 Python Web开发-Django5二进制文件下载响应

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频,包括:2024版 Django5 Python we…

CrossOver 24.0.0 for mac 震撼发布 2024最新下载安装详细图文教程

2024年2 月 23 日消息,CodeWeavers 近日发布了 CrossOver 24 版本更新,基于近期发布的 Wine 9.0,不仅兼容更多应用和游戏,还初步支持运行 32 位应用程序。 苹果在 macOS Catalina 系统中移除对 32 位软件的支持之后,在…

08 Redis之集群的搭建和复制原理+哨兵机制+CAP定理+Raft算法

5 Redis 集群 2.8版本之前, Redis采用主从集群模式. 实现了数据备份和读写分离 2.8版本之后, Redis采用Sentinel哨兵集群模式 , 实现了集群的高可用 5.1 主从集群搭建 首先, 基本所有系统 , “读” 的压力都大于 “写” 的压力 Redis 的主从集群是一个“一主多从”的读写分…

K线实战分析系列之三:吞没形态

K线实战分析系列之三:吞没形态 一、吞没形态二、看涨吞没形态三、看跌吞没形态四、吞没形态判别标准 一、吞没形态 两根或两根以上的K线形成的组合形态,吞没形态就是一种主要的反转形态。 这个形态由两根K线组成,前短后长,一阴一…

Python爬虫-存储到csv乱码-使用utf-8-sig编码

代码 import requests import csvdef get_data():url https://careers.tencent.com/tencentcareer/api/post/Query?timestamp1708743664770&countryId&cityId&bgIds&productId&categoryId&parentCategoryId&attrId&keywordpython&pageIn…

保姆级教程!安利一款Kali Linux 安装 + 获取 root 权限 + 远程访问!

一、什么是Kali kali是linux其中一个发行版,基于Debian,前身是BackTrack(简称BT系统)。kali系统内置大量渗透测试软件,可以说是巨大的渗透系统,涵盖了多个领域,如无线网络、数字取证、服务器、…