OpenHarmony2.0 尝鲜:3516编译烧录开机成功 原创 精华

HonestQiao
发布于 2021-6-2 12:52
浏览
15收藏

OpenHarmony 2.0源码如期(2020年6月2日)发布,Tag为:OpenHarmony 2.0 Canary

 

版本说明:https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-2-0-Canary.md

当前版本在OpenHarmony 1.1.0的基础上,增加标准系统版本,具备的主要功能如下:

新增22个子系统,支持全面的OS能力,支持内存大于128M的带屏设备开发等。
提供系统三大应用:桌面、设置和SystemUI。
提供全新的OpenHarmony应用框架能力、Ability Cross-platform Engine能力。
提供JS应用开发能力。
提供媒体框架,支持音视频功能开发。
提供图形框架能力,支持窗口管理和合成,支持GPU能力。

 

第一时间同步代码更新,准备编译烧录体验,步骤如下:

参考官方资料:

2.0文档:查看

源码获取:查看

Docker编译环境:查看

编译源码:查看

1. 编译环境建立,使用Docker,快又好,省心省事省力,编译工具全都有,你值得拥有:

mkdir OpenHarmony

cd OpenHarmony

# 获取docker镜像,7.24G,包含需要的编译工具

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.1

# 运行镜像

docker run -it --name ohos_build -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard

# 特别注意:至少预留50G空间,以防磁盘用完,我第一次编译,编译过程成功,最后磁盘满了

2. 更新环境,安装基础软件,并设置基础环境

apt update -y
apt install -y git

apt install -y git-lfs

apt install -y ccache

apt install -y tzdata

apt install -y python3.8

rm /bin/python /bin/python3

ln -s /usr/bin/python3.8 /usr/bin/python

ln -s /usr/bin/python3.8 /usr/bin/python3

apt-get install python3-pip

pip3 install --upgrade pip

 

# 时区设置

TIME_ZONE=Asia/Shanghai

ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone

# git设置

 git config --global user.name "HonestQiao"
 git config --global user.email "honestqiao@163.com"
 git config --global credential.helper store

#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://pypi.tuna.tsinghua.edu.cn/simple requests

3. 源码下载:repo方式

cd /home/openharmony

echo y | repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify

repo sync -c

repo forall -c 'git lfs pull'

python3 -m pip install --user build/lite

4. 编译:

# 编译依赖二进制包准备

../scripts/prepare.sh

# 启动编译:支持Hi3516DV300(摄像头+屏幕)、Hi3518EV300(纯摄像头)

./build.sh --product-name Hi3516DV300 --ccache

# 初次编译,时间较长,目前有12644项任务完成,预计30~90分钟

# MBP2015,Docker,分配4核4G内存,耗时80分钟

# 出现以下画面,表示编译成功。

OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区

# 查看编译结果:

ls -l out/ohos-arm-release/packages/phone/images/

OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区

5. 烧录:

刷机直接使用HiTool进行,具体设置如下:

1. 确保Hi3516连接好带开关的电源线,不要直接使用USB线

2. 确保Hi3516的串口连接正确,网口连接正确,和电脑要在同一个局域网

3. HiTool选择芯片为Hi3516DV300,选择烧写eMMC,eMMC分区表文件使用以上编译完成后对应目录中的Hi3516DV300-emmc.xml,需要烧写的bin和img文件和配置信息会自动设置,注意传输方式选择网口,板端IP信息一般不用配置,本地PC配置简单查看是否符合实际情况即可。

4. 点击烧写,下部提示框有提示,让重启设备,按下电源开关,然后再打开,就开始愉快的烧录了。

OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区

6.  使用

设备全身照:

OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区

实际界面照:

OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区OpenHarmony2.0 尝鲜:3516编译烧录开机成功-鸿蒙开发者社区

 

 

 

致谢:

感谢 候鹏飞 指导帮助

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-6-4 15:06:05修改
18
收藏 15
回复
举报
23条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

问题已解决了,谢谢老师

已于2021-6-7 19:45:10修改
回复
2021-6-3 16:50:03
HonestQiao
HonestQiao 回复了 红叶亦知秋
问题已解决了,谢谢老师

已更新

回复
2021-6-4 14:29:12
wx60bae0cf333b4
wx60bae0cf333b4

牛人。。。。。。。。。。。。。。。

回复
2021-6-5 10:33:01
刘ོ,
刘ོ,

更新完鸿蒙系统以后,手机用用会热

1
回复
2021-6-5 20:09:36
Tuer白晓明
Tuer白晓明

膜拜大佬,硬件环境搭建真不容易。

回复
2021-6-7 08:32:10
liangkz_梁开祝
liangkz_梁开祝 回复了 Tuer白晓明
膜拜大佬,硬件环境搭建真不容易。

应该是编译环境的搭建,对新手来说确实是一道坎。

回复
2021-6-7 09:10:28
HonestQiao
HonestQiao 回复了 Tuer白晓明
膜拜大佬,硬件环境搭建真不容易。

按照上面的步骤,包成功:)

回复
2021-6-7 19:32:20
liangkz_梁开祝
liangkz_梁开祝

楼主你这是docker环境下的,

ln -s /usr/bin/python3.8 /usr/bin/python

确认python3.8 编译标准系统没有问题吗?

 

我的是自己搭建的linux虚拟机环境,用python3.8就会编译失败,要用python2.7版本才会OK。

回复
2021-6-7 20:00:22
鸿蒙张荣超
鸿蒙张荣超

赞赞赞!

回复
2021-6-7 21:12:54
HonestQiao
HonestQiao 回复了 liangkz_梁开祝
楼主你这是docker环境下的, ln -s /usr/bin/python3.8 /usr/bin/python 确认python3.8 编译标准系统没有问题吗? 我的是自己搭建的linux虚拟机环境,用python3.8就会编译失败,要用python2.7版本才会OK。

文中的步骤,进过多次测试,确保一次通过正常编译。

 

编译失败的话,可以把失败部分的截图贴上来,方便了解问题。

回复
2021-6-8 08:07:22
HonestQiao
HonestQiao

【编译好的镜像文件下载】

 

 

OpenHarmony2.0_Hi3561_Standard_firmware_.zip 139.13M 179次下载
回复
2021-6-8 11:57:00
liangkz_梁开祝
liangkz_梁开祝 回复了 HonestQiao
文中的步骤,进过多次测试,确保一次通过正常编译。 编译失败的话,可以把失败部分的截图贴上来,方便了解问题。

为了验证这个问题,我今天重新安装了一个虚拟机,从0开始按照官方指导搭建编译环境,一开始只安装了python3.8版本,编译失败了,log见附件。

失败的log说是

“FAILED: gen/third_party/wayland-ivi-extension/protocol/ivi-input-protocol.c gen/third_party/wayland-ivi-extension/protocol/ivi-input-client-protocol.h gen/third_party/wayland-ivi-extension/protocol/ivi-input-server-protocol.h 
/usr/bin/env ../../third_party/wayland_standard/python2_action.py ../../third_party/wayland_standard/wayland_scanner_wrapper.py third_party/wayland-ivi-extension/protocol/ivi-input.xml --src-root ../../ --root-gen-dir gen --cmd ./clang_x64/graphic/graphic_standard/wayland_scanner
/usr/bin/env: ‘../../third_party/wayland_standard/python2_action.py’: No such file or directory

去这个路径打开文件来查看,这个文件开头就说:

"""Script for ensuring that a python action runs under Python2, not Python3."""

然后重新安装了python2.7,软链接将python连接到2.7 版本,再次编译就OK了。

NG 的log 和 OK 的log,我都放到附件上,请帮忙看一下。

 

不知道你的docker里的python,链接的是 2.7 版本还是 3.8 版本?

你的third_party/wayland_standard/python2_action.py 文件是什么内容??

Canary Build OK vs NG.rar 172.5K 7次下载
回复
2021-6-8 21:27:35
liangkz_梁开祝
liangkz_梁开祝 回复了 liangkz_梁开祝
为了验证这个问题,我今天重新安装了一个虚拟机,从0开始按照官方指导搭建编译环境,一开始只安装了python3.8版本,编译失败了,log见附件。 失败的log说是 “FAILED: gen/third_party/wayland-ivi-extension/protocol/ivi-input-protocol.c gen/third_party/wayland-ivi-extension/protocol/ivi-input-client-protocol.h gen/third_party/wayland-ivi-extension/protocol/ivi-input-server-protocol.h /usr/bin/env ../...

把python版本换回2.7之后,再想去编译hispark_pegasus、hispark_taurus,hb set 直接出错。

把python版本换回3.8才能编译hispark_pegasus、hispark_taurus。

已于2021-6-8 21:36:07修改
回复
2021-6-8 21:34:31
qq5d0d90ef23736
qq5d0d90ef23736

烧录上去后系统起不来。烧录社区里下载的固件和自己编译的固件都存在问题。

 

System startup

Uncompress Ok!

U-Boot 2020.01 (Apr 22 2021 - 23:59:39 +0800)hi3516dv300

DRAM:  MMC:
EMMC/MMC/SD controller initialization.
scan edges:2 p2f:6 f2p:1
mix set temp-phase 3
scan elemnts: startp:5 endp:117
Tuning SampleClock. mix set phase:[04/07] ele:[2d/15]
MMC/SD Card:
    MID:         0x15
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "8GTF4"
    Chip Type:   MMC
    Version:     0.0
    Speed:       100000000Hz
    Bus Width:   4bit

EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
mmc_init failed! err:-95
No SD device found !
himci: 0 (eMMC), himci: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
@@@ 5 blocks read: OK
@@@ UpdateMessage.command = ⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌, UpdateMessage.update = ⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌
@@@ partitions info from misc =⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌, partStrLen = 511
@@@ UpdateMessage.command = ⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌⚌, g_isRecovery = 0
@@@ g_bootArgsStr = mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=10 init=/init root=/dev/mmcblk0p5 rootfstype=ext4 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)
@@@ do_bootx in misc_init_r, g_isRecovery = 0
Net:   eth0
Error: eth0 address not set.

Hit any key to stop autoboot:  0

 

回复
2021-6-14 10:52:33
qq5d0d90ef23736
qq5d0d90ef23736 回复了 qq5d0d90ef23736
烧录上去后系统起不来。烧录社区里下载的固件和自己编译的固件都存在问题。 System startup Uncompress Ok! U-Boot 2020.01 (Apr 22 2021 - 23:59:39 +0800)hi3516dv300 DRAM: MMC:EMMC/MMC/SD controller initialization.scan edges:2 p2f:6 f2p:1mix set temp-phase 3scan elemnts: startp:5 endp:117Tuning SampleClock. mix set phase:[04/07] ele:[2d/15]MMC/SD Card: MI...

有没有胖友遇到过这种情况哈?

回复
2021-6-14 10:52:53
wx60abaa036d328
wx60abaa036d328

手机行不行

回复
2021-6-15 12:20:14
AlgoIdeas
AlgoIdeas 回复了 qq5d0d90ef23736
烧录上去后系统起不来。烧录社区里下载的固件和自己编译的固件都存在问题。 System startup Uncompress Ok! U-Boot 2020.01 (Apr 22 2021 - 23:59:39 +0800)hi3516dv300 DRAM: MMC:EMMC/MMC/SD controller initialization.scan edges:2 p2f:6 f2p:1mix set temp-phase 3scan elemnts: startp:5 endp:117Tuning SampleClock. mix set phase:[04/07] ele:[2d/15]MMC/SD Card: MI...

这个问题解决了吗

回复
2021-7-7 19:51:10
qq5d0d90ef23736
qq5d0d90ef23736 回复了 AlgoIdeas
这个问题解决了吗

解决了,板子的屏幕接口烧坏了。新买一块板子就好了。这个板子不能长时间工作。我两个晚上忘记断电,第三天就坏了。重买解决问题😂

1
回复
2021-7-27 09:51:46
wx57f29dd1ab680
wx57f29dd1ab680

请教各位大佬,编译直接报错如下,是哪里没配好吗?

Starting Ninja...
python version: Python 3.8.5
build_target: images
ninja: Entering directory `/home/openharmony/out/ohos-arm-release'
ninja: error: '../../prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/10.0.1/lib/arm-linux-ohosmusl/libclang_rt.builtins.a', needed by 'utils/utils_base/libutilsecurec_shared.z.so', missing and no known rule to make it
build: ninja error
used: 46 seconds
pycache statistics
manage pycache contents
pycache daemon exit
ccache statistics

回复
2021-9-1 10:04:09
wx61908928ad054
wx61908928ad054

这个是直接打包成 平板或者手机的rom吗?

回复
2021-11-14 11:58:07
回复
    相关推荐