OpenHarmony开发者论坛
标题:
编译烧写OpenHarmony系统
[打印本页]
作者:
xhzai
时间:
2024-8-21 19:32
标题:
编译烧写OpenHarmony系统
[md]## 首先签署协议和规范
[参考文档](
https://gitee.com/openharmony/do ... 8%B4%A1%E7%8C%AE.md
)
## 其次准备开发板和Ubuntu环境
(笔者这里使用的是RK3568和云服务器,可向官方申请)
* [相干资料下载](
https://gitee.com/hihope_iot/docs/tree/master/HiHope_DAYU200
)
* [合作计划](
https://developer.harmonyos.com/deveco-developer-suite/
)
* [支持的开发板](
https://gitee.com/openharmony/do ... rd-on-the-master.md
)
![img_11.png](
https://forums-obs.openharmony.c ... r7uvyhvv6kh66vp.png
"img_11.png")
## 安装Ubuntu系统工具
apt-get命令安装编译所需的必要的库和工具:
(若不是开发openharmony系统代码非必须)
```
sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
```
## 云服务器代码下载和构建
(若不是开发openharmony系统非必须)
### 注册码云SSH公钥:详细可以请参考码云帮助中心。
(注意修改为自己的邮箱)
* 生成: ``ssh-keygen -t ed25519 -C "mang.tsang@huawei.com"``
* 配置: [参考链接](
https://gitee.com/profile/sshkeys
)
* 测试: ``ssh -T
git@gitee.com
``
### 配置Ubuntu git客户端用户信息。
``git config --global user.name "MangTsang"``<br>
``git config --global user.email "mang.tsang@huawei.com"``<br>
``git config --global credential.helper store``
### 安装码云repo工具。
```
curl -s
https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
> ./repo
sudo mv ./repo /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i
https://repo.huaweicloud.com/repository/pypi/simple
requests
```
### 代码下载
* 因为openharmony各个子系统采用Gitee独立建仓管理,所以需要使用repo来
```
cd ~/workspace/openharmony
repo init -u
git@gitee.com
:openharmony/manifest.git -b master --no-repo-verify --depth=1 // 创建git仓库,无响应则尝试https的git路径
repo sync -c -j 32 //仓库同步,这里可以先cd进入.repo下
repo forall -c 'git lfs pull' //拉取大文件
build/prebuilts_download.sh // 在根目录执行预构建,下载工具
```
* 至此拿到openharmony的源代码!!!
### 代码构建
根目录下执行构建命令(第一次执行全量构建获得镜像,后续修改部件代码后只需执行部件构建并链接新的动态库)
***全量构建***
``./build.sh --product-name rk3568 --build-target make_all``等待几十分钟
***部件构建***
``./build.sh --product-name rk3568 --build-target accessibility``
![image.png](
https://forums-obs.openharmony.c ... h93111n3u83q3lj.png
"image.png")
## 烧写镜像
### 镜像获取
* 方法一:从上面的源码编译,在根目录/out/rk3568/packages/phone/images 里拷贝镜像到本地(scp命令)
* 方法二:从每日编译的 Daily 版本中下载对应[镜像](
http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist
)
rk3568选择dayu200
![img_2.png](
https://forums-obs.openharmony.c ... xc5m70mrcgpxw5t.png
"img_2.png")
* 方法三:下载 RK3568 官方提供的固件,[下载地址](
https://gitee.com/hihope_iot/images
)
### 烧写工具下载
[下载链接](
https://gitee.com/hihope_iot/doc ... 87%E5%8D%97/windows
)
![img.png](
https://forums-obs.openharmony.c ... krb0eku09j9vzl9.png
"img.png")
### 烧录步骤
1. 安装USB驱动:
双击下载工具根目录的windows\DriverAssitant\DriverInstall.exe 打开安装程序,点击“驱动安装”按钮:
2. 双击 windows\RKDevTool.exe 打开烧写工具, 如图所示, 默认是 Maskrom 模式:
![img_3.png](
https://forums-obs.openharmony.c ... a2p6ap55nljuezp.png
"img_3.png")
3. 右键导入镜像文件夹中的config配置文件
![img_4.png](
https://forums-obs.openharmony.c ... 3npfuuwt73kgouk.png
"img_4.png")
![img_5.png](
https://forums-obs.openharmony.c ... gmz6rffwg9ccffi.png
"img_5.png")
4. 根据config文件配置的路径将镜像文件移动到对应的地址
5. 烧写镜像
1. 按住开发板 RECOVERY 按键 和 RESET 按钮不松开, 烧录工具此时显示“没有发现设备”
![img_6.png](
https://forums-obs.openharmony.c ... w9wqx8taxwlazay.png
"img_6.png")
2. 松开 RESET 键, 烧录工具显示“发现一个 LOADER 设备” , 说明此时已经进入烧写模式
![img_7.png](
https://forums-obs.openharmony.c ... 1404frtgbs5z1nn.png
"img_7.png")
3. 执行烧写,等待完成后OpenHarmony系统启动 // 若反复重启则检查下载代码命令是否遗漏重新烧录<br>
[更多参考](
https://gitee.com/hihope_iot/doc ... 6%96%87%E6%A1%A3.md
)
点击头像继续后续模块开发部分!
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5