> 文档中心 > 鸿蒙系统--搭建Ubuntu环境

鸿蒙系统--搭建Ubuntu环境


搭建Ubuntu环境

在嵌入式开发中,很多开发者习惯于使用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为最新版本,且版本号需相同。

操作步骤

  1. 将Ubuntu Shell环境修改为bash。

    1. 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据子步骤2,将Ubuntu shell修改为bash。

      ls -l /bin/sh

    2. 打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。

      sudo dpkg-reconfigure dash

  2. 下载DevEco Device Tool最新Linux版本软件包。

  3. 解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。

    1. 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-{Version}.zip为软件包名称,请根据实际进行修改。

      unzip devicetool-linux-tool-{Version}.zip
    2. 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。

      chmod u+x devicetool-linux-tool-{Version}.sh

  4. 执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。

    sudo ./devicetool-linux-tool-{Version}.sh

  5. 在用户协议和隐私声明签署界面,请详细阅读用户协议和隐私声明,需签署同意用户协议和隐私声明才能进行下一步的安装,可通过键盘的上下按键进行选择。

    安装完成后,当界面输出“DevEco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。

  6. 使用如下apt-get命令安装后续操作所需的库和工具。

    sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupgsudo apt-get update && sudo apt-get install flex bison gperf build-essential zipsudo apt-get update && sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabisudo apt-get update && sudo apt-get install libc6-dev-i386sudo apt-get update && sudo apt-get install libc6-dev-amd64sudo apt-get update && sudo apt-get install lib32ncurses5-devsudo apt-get update && sudo apt-get install x11proto-core-devsudo apt-get update && sudo apt-get install libx11-devsudo apt-get update && sudo apt-get install lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltprocsudo apt-get update && sudo apt-get install unzip m4 bc gnutls-binsudo apt-get update && sudo apt-get install python3.8 python3-pip ruby genext2fs device-tree-compilersudo 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-toolssudo apt-get update && sudo apt-get install mtd-utils cpio doxygen liblz4-tool openjdk-8-jresudo apt-get update && sudo apt-get install gcc g++ texinfo dosfstools mtoolssudo apt-get update && sudo apt-get install default-jre default-jdk libncurses5 apt-utils wgetsudo apt-get update && sudo apt-get install scons python3.8-distutils tar rsync git-coresudo apt-get update && sudo apt-get install libxml2-dev lib32z-dev grsync xxd libglib2.0-devsudo apt-get update && sudo apt-get install libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogssudo apt-get update && sudo apt-get install squashfs-tools pcmciautils quota ppp libtinfo-devsudo apt-get update && sudo apt-get install libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabisudo apt-get update && sudo apt-get install vim ssh locales libxinerama-dev libxcursor-devsudo apt-get update && sudo apt-get install libxrandr-dev libxi-devsudo apt-get update && sudo apt-get install net-toolssudo 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/repopip3 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-verifyrepo sync -crepo forall -c 'git lfs pull'

    方法二:通过repo + https 下载。

    repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verifyrepo sync -crepo 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) 编译源码完成,请进行镜像烧录。