
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
本文主要介绍在腾讯云服务器上编译小型系统以及Windows本地烧录
初始购买界面,Ubuntu的系统版本只能选择18.04
为了避免踩坑,重装系统为Ubuntu 20.04版本:
sudo apt-get update
先确认python版本
cd /usr/bin
ls -l python*
如果没有达到指定版本,先安装python 根据Ubuntu不同版本,安装python。
如果Ubuntu 版本为18+,运行如下命令。
sudo apt-get install python3.8
如果Ubuntu版本为16。
sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt upgrade && sudo apt install python3.8
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
命令行方式:
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
安装包方式:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
开发工具 | 用途 | 获取途径 |
---|---|---|
gn | 产生ninja编译脚本 | https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz |
ninja | 执行ninja编译脚本 | https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar |
LLVM | 编译工具链 | https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz |
针对OpenHarmony_1.0.1_release分支使用以下链接下载:https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar | ||
hc-gen | 驱动配置编译工具 | https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar |
hb | OpenHarmony编译构建命令行工具 | 通过互联网获取 |
bash | 命令行处理工具 | 系统配置 |
编译基础软件包(仅ubuntu 20+需要) | 编译依赖的基础软件包 | 通过互联网获取 |
dosfstools、mtools、mtd-utils | 文件打包工具 | 通过apt-get install安装 |
Java 虚拟机环境 | 编译、调试和运行Java程序 | 通过apt-get install安装 |
mkdir -p ~/harmonyos/tools
cd ~/harmonyos/tools
#下载gn
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
#下载ninga
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
# 下载 LLVM
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz
#下载hc-gen
wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar##
解压gn安装包至~/gn路径下。
mkdir ~/gn
tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
解压ninja安装包至~/ninja路径下。
tar -xvf ninja.1.9.0.tar -C ~/
解压LLVM安装包至~/llvm路径下。
tar -zxvf llvm.tar.gz -C ~/
解压hc-gen安装包至~/hc-gen路径下
tar -xvf hc-gen-0.65-linux.tar -C ~/
设置环境变量
sudo vim ~/.bashrc
在末尾添加如下
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/llvm/bin:$PATH
export PATH=~/hc-gen:$PATH
添加之后 source ~/.bashrc
python3 -m pip install --user ohos-build
export PATH=~/.local/bin:$PATH
执行如下命令更新环境变量。
source ~/.bashrc
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit
查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
sudo dpkg-reconfigure dash
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
执行以下命令进行安装:
sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
打开Linux编译服务器终端
运行如下命令,安装dosfstools,mtools,mtd-utils,Java运行时环境(JRE)和Java sdk 开发工具包。
sudo apt-get install dosfstools mtools mtd-utils default-jre default-jdk
mkdir ~/bin/
sudo apt install curl
如果没有 curl 命令需要先下载
sudo apt install curl
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod a+x ~/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
#添加环境变量~/.bashrc
export PATH=~/bin:$PATH
source ~/.bashrc
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
cd harmony/openharmony
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-2.0-Canary --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
cd harmony/openharmony
repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
经过1个半小时后编译成功
Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三种方式。我主要将一下串口烧录
请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考Hi3516开发板介绍。
打开电脑的设备管理器,查看并记录对应的串口号。
如果烧录了boot,此时还不能点亮屏幕
重新写入引导内核启动的指令和参数
此时输入如下四条命令,执行完四条命令之后,系统会重启并点亮屏幕
执行命令 | 命令解释 |
---|---|
reset | 表示复位单板。 |
saveenv | 表示保存当前配置。 |
setenv bootargs “console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw”; | 表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,“rootaddr=10M rootsize=20M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与IDE中新增rootfs.img文件时所填大小必须相同。 |
setenv bootcmd “mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000”; | 读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址,该大小(9MB)与IDE中所填写OHOS_Image.bin文件大小必须相同。 |