一加6T成功刷入OpenHarmony

最近小米 6 和一加 6T 的 OpenHarmony 移植,可以说是振奋人心,不禁感慨到 OH 终于有廉价的开发设备可用了。

我一直是比较关注 OpenHarmony 的发展和应用开发的相关技术,虽然对系统设备开发并不了解,但还是想着渐进式的尝试和学习下。

①搭建编译环境编译官方 rk3568(已完成)。

②基于 Wathinst 的开源移植仓库,编译一加 6T 的 OH 系统,熟悉过程解锁一些知识盲区(已完成)。

https://gitee.com/wathinst

③尝试移植其他更廉价的安卓设备(待完成)。

④除此之外,我还会在我的“开源组织 ohos-dev”提交我个人学习开发的应用和相关工具。

https://gitee.com/ohos-dev

编译所使用的一加 6T 开源移植仓库是由 @Wathinst 完成的。非常感谢 @Wathinst 的耐心指点,我才能顺利编译成功。

https://gitee.com/wathinst

最终效果如下:

个人认为,这篇笔记更适合以下人群阅读(其实就是我 [手动狗头]):

设备和源码信息概述

如下:

环境搭建和获取源码

官方文档,看这个就 OK:

https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/device-dev/quick-start/quickstart-pkg-prepare.md/

我是用虚拟机跑的 Ubuntu18.04,分配的 8c16g,官方 rk3568 首次编译实测耗时 85 分钟。

关于环境搭建官方提供了 3 种,IDE、安装包、Docker,我用的第 2 种方式。

加入开源移植仓库并同步

作者:https://gitee.com/wathinst
组织:https://gitee.com/ohos_port @Wathinst移植的一加6T开源仓库

.repo/manifestsipsets/all.xml 追加:

新增:

.repo/manifestsipsets/oneplus/fajita.xml
<?xml versinotallow="1.0" encoding="UTF-8"?>






再次同步源码和编译:

repo sync
repo forall -c 'git lfs pull'
./build.sh --product-name fajita

编译成功输出目录:

~/ohos/out/fajita/packages/phone/images

修复编译中出现的代码错误

master 分支问题会多一些,编译期间根据错误日志不断分析修正,直至成功(Release 应该没什么问题的)。

# err1,2: 作者已经修正,https://gitee.com/ohos_port/device_board_oneplus/issues/I6ND82

# err3: third_party/libdrm/tests/util/pattern.c
// void *mem_base = mem;    // @errfix 1

# err4,5: foundation/ability/form_fwk/services/src/form_event_util.cpp
HILOG_INFO("%{public}s formId:%{public}lld", __func__, (long long) formRecord.formId);    // @errfix 2
HILOG_INFO("%{public}s formId:%{public}lld", __func__, (long long) formRecord.formId);    // @errfix 3

OH 源码和开源移植的修改记录

fstab 调整:

# device/board/oneplus/fajita/cfg/fstab.fajita
# /dev/block/sda18 修改为 /dev/block/sda17,因为一加6T的data分区就在这里,原作者新增分区做双系统,才这么配置的

# fstab file.
#                                                                                     
/dev/block/sda14             /usr       ext4     ro,barrier=1  wait,required
/dev/block/sde44             /vendor    ext4     ro,barrier=1  wait,required
/dev/block/sda18             /data      ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600
/dev/block/sda3              /misc      none     none  wait,required

DPI 修正:

# foundation/window/window_manager/resources/config/BUILD.gn

window_manager_dayu210_resource_config = true # line 16,修改为false
install_enable = false # line 44,display_manager_config下面的最后一个else中的改为true

编译内核和打包 boot.img

sudo apt install abootimg
mkdir ~/oneplus & cd oneplus
git clone https://gitee.com/ohos_port/linux-sdm845-6.2
cd linux-sdm845-6.2
./make_sdm845.sh
./make_bootimg.sh # 我把boot.img输出目录INSTALL_DIR改为了/home/ubuntu/
展开阅读全文

页面更新:2024-04-25

标签:分支   分区   廉价   仓库   源码   错误   环境   官方   设备   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top