> 文档中心 > [OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境


一、 搭建linux环境

参考:[精简linux] 快速在window搭建linux验证平台,并移植freertos
只用操作1-4,后面的freertos可以不用理会。

二、搭建OpenHarmony环境

介绍:鸿蒙3.0目前只支持python3.7-3.8,其他版本会编译失败!!!不支持3.10,如果是高版本python,建议降级。 目前只有ubantu20.4是python3.8.10。

  1. 安装pip3
    终端输入:sudo apt install -y python3-pip

  2. 安装vim
    终端输入: sudo apt install -y vim

  3. 利用sh脚本,批量安装依赖。
    (1)创建脚本,终端输入:touch hm_install.sh
    (2)编辑脚本,终端输入:vim hm_install.sh
    输入内容如下:

    #!/bin/bashapt-get install -y gcc-arm-none-eabiapt-get install -y build-essentialapt-get install -y gccapt-get install -y g++apt-get install -y makeapt-get install -y zlib*apt-get install -y libffi-devapt-get install -y e2fsprogsapt-get install -y pkg-configapt-get install -y flexapt-get install -y bisonapt-get install -y perlapt-get install -y bcapt-get install -y opensslapt-get install -y libssl-devapt-get install -y libelf-devapt-get install -y libc6-dev-amd64apt-get install -y binutilsapt-get install -y binutils-devapt-get install -y libdwarf-devapt-get install -y u-boot-toolsapt-get install -y mtd-utilsapt-get install -y gcc-arm-linux-gnueabiapt-get install -y cpioapt-get install -y device-tree-compilerapt-get install -y curlapt-get install -y unzippip3 install setuptools kconfiglibpython3 -m pip install build

    (3)给hm_install.sh赋予可执行权限,终端输入:sudo chmod 777 hm_install.sh
    (4)执行脚本开始安装,终端输入:sudo ./hm_install.sh

  4. 软链接python

    原因:OpenHarmony编译同时使用python、python3两种命令,所以对于存在python2.7的用户,很不友好。

    终端输入:
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
    目的:使python和python3都指向python3.8

  5. shell改为bash,查看shell版本。终端输入:ls -l /bin/sh
    [OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
    如果显示为 dash,则需要修改接口。
    (1)终端输入:sudo dpkg-reconfigure dash
    [OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
    [OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

    (2)终端输入:ls -l /bin/sh
    如图显示,bash为成功。
    [OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

三、构建OpenHarmony编译器

  1. 下载 【凌智电子 / 小凌派-RK2206开发板】SDK
    从gitee下载: 【凌智电子 / 小凌派-RK2206开发板】
    从csdn下载:lockzhiner-rk2206-openharmony3.0lts.zip

下载完毕后,放在linux共享目录下。
(1)在D盘创建prog文件夹,并解压到此。
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
如果由本文提供的linux,在linux终端输入:cd /mnt/d/prog/lockzhiner-rk2206-openharmony3.0lts
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

如果通过其他渠道的linux,则共享windos目录,参考附录。
然后cd进入lockzhiner-rk2206-openharmony3.0lts目录。

(2)安装hb 工具,终端输入:python3 -m pip install --user build/lite
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
(3)预编译,终端输入: ./build/prebuilts_download.sh

编译失败的情况:
① 没有安装完整依赖,请按上文实现hm_install.sh,并运行。
② shell没有改为bash,请按上文操作。
③ python版本不在3.7-3.8内,构建失败。

(4)设置环境变量,终端输入:source build/envsetup.sh

(5)hb路径设置第一次需要加-root,终端输入: hb set -root $code_dir
(6)选择编译开发板,终端输入: hb set
用方向键↑↓,选择lockzhiner-rk2206。(本SDK默认就一个,直接回车键即可)

四、编译OpenHarmony项目

(1) 清除旧文件,终端输入: hb clean
(2) 编译,建议加 -f全部编译,终端输入: hb build -f
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

编译失败的情况:

  1. [OHOS ERROR] ./build.sh: 16: Syntax error: “(” unexpected
    原因:没有正确把shell改为bash
  2. [OHOS ERROR] FAILED: obj/device/rockchip/rk2206/third_party/lwip/rk2206_lwip
    原因:没有安装完整依赖,请按上文实现hm_install.sh,并运行。
  3. COPY 命令未找到,python版本不在3.7-3.8内,且构成环境时存在错误

附录:实现linux共享目录,用vbox举例:

先选择【安装增强功能】[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
可能出现提示框,则选择RUN进行安装。[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

如果没有出现,则点开光盘手动安装,右键脚本-选择打开方式
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
输入密码,继续进行安装。出现如下图所示界面,按Enter键退出,重启。
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境
重启之后发现【视图】菜单中无缝模式和自动调整显示尺寸功能已经可以用了,也能实现和主机之间的复制粘贴了(需要把【设备】-【共享粘贴板】设置成【双向】,把【设备】-【拖放】设置成【双向】)

共享目录参考:virtualbox设置共享目录

[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

(1)终端输入:cd /mnt
(2)新建 Ubuntu 共享文件夹,终端输入:sudo mkdir /mnt/lockzhiner-rk2206-openharmony3.0lts
(3)挂载共享文件夹,终端输入:sudo mount -t vboxsf lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/
格式:sudo mount -t vboxsf 共享文件夹名称(见上图) 欲挂载目录
(4)实现开机自动挂载,vim sudo gedit /etc/fstab
[OpenHarmony][RK2206] 快速搭建linux开发环境+OpenHarmony编译环境

输入i,进入编辑模式,再末尾加入如下内容。再按esc,退出编辑模式。然后shift+:,进入命令模式,输入wq,回车保存修改。
lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/ vboxsf defaults 0 0