首先,感谢给予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的虚拟机后,成功了。