赞
踩
在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。
在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco Device Tool(可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。
本章节介绍开发所需Ubuntu环境的搭建方法。
说明: 如果没有Ubuntu系统,可在Windows系统中通过虚拟机方式搭建Ubuntu系统,具体请参考Ubuntu系统安装指导。Ubuntu系统安装完成后,请根据指导完成Ubuntu基础环境配置,然后再根据本章节进行DevEco Device Tool工具的安装。
Ubuntu系统要求:Ubuntu18.04~21.10版本。推荐使用20.04版本,内存16GB及以上,硬盘100GB及以上。
Ubuntu系统的用户名不能包含中文字符。
Ubuntu和Windows系统上安装的DevEco Device Tool为最新版本,且版本号需相同。
将Ubuntu Shell环境修改为bash。
执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据子步骤2,将Ubuntu shell修改为bash。
ls -l /bin/sh
打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。
sudo dpkg-reconfigure dash
下载DevEco Device Tool最新Linux版本软件包。
解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。
进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-{Version}.zip为软件包名称,请根据实际进行修改。
unzip devicetool-linux-tool-{Version}.zip
进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。
chmod u+x devicetool-linux-tool-{Version}.sh
执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。
sudo ./devicetool-linux-tool-{Version}.sh
在用户协议和隐私声明签署界面,请详细阅读用户协议和隐私声明,需签署同意用户协议和隐私声明才能进行下一步的安装,可通过键盘的上下按键进行选择。
安装完成后,当界面输出“DevEco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。
使用如下apt-get命令安装后续操作所需的库和工具。
- sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg
- sudo apt-get update && sudo apt-get install flex bison gperf build-essential zip
- sudo apt-get update && sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi
- sudo apt-get update && sudo apt-get install libc6-dev-i386
- sudo apt-get update && sudo apt-get install libc6-dev-amd64
- sudo apt-get update && sudo apt-get install lib32ncurses5-dev
- sudo apt-get update && sudo apt-get install x11proto-core-dev
- sudo apt-get update && sudo apt-get install libx11-dev
- sudo apt-get update && sudo apt-get install lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc
- sudo apt-get update && sudo apt-get install unzip m4 bc gnutls-bin
- sudo apt-get update && sudo apt-get install python3.8 python3-pip ruby genext2fs device-tree-compiler
- sudo apt-get update && sudo apt-get install make libffi-dev e2fsprogs pkg-config perl
- sudo apt-get update && sudo apt-get install openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools
- sudo apt-get update && sudo apt-get install mtd-utils cpio doxygen liblz4-tool openjdk-8-jre
- sudo apt-get update && sudo apt-get install gcc g++ texinfo dosfstools mtools
- sudo apt-get update && sudo apt-get install default-jre default-jdk libncurses5 apt-utils wget
- sudo apt-get update && sudo apt-get install scons python3.8-distutils tar rsync git-core
- sudo apt-get update && sudo apt-get install libxml2-dev lib32z-dev grsync xxd libglib2.0-dev
- sudo apt-get update && sudo apt-get install libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs
- sudo apt-get update && sudo apt-get install squashfs-tools pcmciautils quota ppp libtinfo-dev
- sudo apt-get update && sudo apt-get install libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi
- sudo apt-get update && sudo apt-get install vim ssh locales libxinerama-dev libxcursor-dev
- sudo apt-get update && sudo apt-get install libxrandr-dev libxi-dev
- sudo apt-get update && sudo apt-get install net-tools
- sudo apt-get update && sudo apt-get install gcc-arm-linux-gnueabi
说明:
以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。其中:
Python要求安装Python 3.8及以上版本,此处以Python 3.8为例。
Java要求java8及以上版本,此处以java8为例。
7. 获取标准系统源码
前提条件
1)注册码云gitee账号。
2)注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。
3)安装[git客户端](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。
4)安装码云repo工具,可以执行如下命令。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 >/usr/local/bin/repo
#如果没有权限,可下载至其他目录,并将其配置到环境变量中
- chmod a+x /usr/local/bin/repo
-
- pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
#### 获取源码操作步骤
方法一:通过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'
#### 执行prebuilts
在源码根目录下执行脚本,安装编译器及二进制工具。
bash build/prebuilts_download.sh
下载的prebuilts二进制默认存放在与OpenHarmony同目录下的OpenHarmony_2.0_canary_prebuilts下。
8. 编译调试
在Linux环境进行如下操作:
1) 进入源码根目录,执行如下命令进行版本编译。
./build.sh --product-name rk3568 --ccache
2) 检查编译结果。编译完成后,log中显示如下:
- post_process
-
- =====build rk3568 successful.
编译所生成的文件都归档在out目录下,结果镜像输出在out/rk3568/packages/phone/images 目录下。
3) 编译源码完成,请进行镜像烧录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。