【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的虚拟机后,成功了。

相关推荐
Better Bench9 小时前
WSL2 Ubuntu 中 Claude CLI “command not found” 故障排查与修复
linux·ubuntu·claude·wsl·claudecode
实心儿儿10 小时前
Linux —— 进程间关系和守护进程
linux·运维·服务器
FII工业富联科技服务10 小时前
工业设备运维如何Agentic化?拆解Factory Brain的设备运维架构
大数据·运维·人工智能·架构·制造
Dawn-bit11 小时前
Linux磁盘管理详解
linux·运维·服务器·计算机网络·云计算
RisunJan12 小时前
Linux命令-sftp(SSH 文件传输协议客户端)
linux·运维
极客先躯13 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
龙仔72514 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
老杨聊技术14 小时前
CentOS 7 安装 MySQL 8 保姆级教程
linux·mysql·centos
xiaoye-duck15 小时前
《Linux系统编程》Linux 系统多线程(六):<线程同步与互斥>线程同步(下):POSIX 信号量与环形队列生产者消费者模型详解
linux·线程
三言老师15 小时前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库