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

相关推荐
EnigmaCoder14 分钟前
【Linux】Vim编辑器:从入门到高效使用
linux·运维·编辑器·vim
楚禾Noah37 分钟前
【通用常识】YAML 中的高阶语法
运维·docker·容器
我科绝伦(Huanhuan Zhou)1 小时前
Linux服务器性能优化总结
linux·服务器·性能优化
m0_571372821 小时前
关于linux软件编程9——网络编程1
linux·服务器·网络
白书宇1 小时前
12.从零开始写LINUX内核--控制台初始化
linux·c语言·驱动开发·嵌入式硬件·microsoft·iot
小白不想白a1 小时前
【Ansible】变量、机密、事实
运维·云原生·ansible
源代码•宸3 小时前
网络流量分析——基础知识(二)(Tcpdump 基础知识)
运维·开发语言·网络·c++·经验分享·tcpdump
_童年的回忆_5 小时前
Linux下解决Git保存用户名和密码的方法
linux·运维·git
东心十9 小时前
Win11安装WSL、Docker Desktop
运维·docker·容器
奔跑草-10 小时前
【服务器】Apache Superset功能、部署与体验
运维·服务器·apache·powerbi·superset