[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。
-
安装pip3
终端输入:sudo apt install -y python3-pip -
安装vim
终端输入: sudo apt install -y vim -
利用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 -
软链接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 -
shell改为bash,查看shell版本。终端输入:ls -l /bin/sh
如果显示为 dash,则需要修改接口。
(1)终端输入:sudo dpkg-reconfigure dash
(2)终端输入:ls -l /bin/sh
如图显示,bash为成功。
三、构建OpenHarmony编译器
- 下载 【凌智电子 / 小凌派-RK2206开发板】SDK
从gitee下载: 【凌智电子 / 小凌派-RK2206开发板】
从csdn下载:lockzhiner-rk2206-openharmony3.0lts.zip
下载完毕后,放在linux共享目录下。
(1)在D盘创建prog文件夹,并解压到此。
如果由本文提供的linux,在linux终端输入:cd /mnt/d/prog/lockzhiner-rk2206-openharmony3.0lts
如果通过其他渠道的linux,则共享windos目录,参考附录。
然后cd进入lockzhiner-rk2206-openharmony3.0lts目录。
(2)安装hb 工具,终端输入:python3 -m pip install --user build/lite
(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
编译失败的情况:
- [OHOS ERROR] ./build.sh: 16: Syntax error: “(” unexpected
原因:没有正确把shell改为bash - [OHOS ERROR] FAILED: obj/device/rockchip/rk2206/third_party/lwip/rk2206_lwip
原因:没有安装完整依赖,请按上文实现hm_install.sh,并运行。 - COPY 命令未找到,python版本不在3.7-3.8内,且构成环境时存在错误
附录:实现linux共享目录,用vbox举例:
先选择【安装增强功能】
可能出现提示框,则选择RUN进行安装。
如果没有出现,则点开光盘手动安装,右键脚本-选择打开方式
输入密码,继续进行安装。出现如下图所示界面,按Enter键退出,重启。
重启之后发现【视图】菜单中无缝模式和自动调整显示尺寸功能已经可以用了,也能实现和主机之间的复制粘贴了(需要把【设备】-【共享粘贴板】设置成【双向】,把【设备】-【拖放】设置成【双向】)
共享目录参考:virtualbox设置共享目录
(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
输入i,进入编辑模式,再末尾加入如下内容。再按esc,退出编辑模式。然后shift+:,进入命令模式,输入wq,回车保存修改。
lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/ vboxsf defaults 0 0