OnePlus6T OpenHarmony简明刷机指南 您所在的位置:网站首页 一加6t刷机包下载教程视频 OnePlus6T OpenHarmony简明刷机指南

OnePlus6T OpenHarmony简明刷机指南

2024-04-25 07:07| 来源: 网络整理| 查看: 265

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.51cto.com​​

一、简介

一加6T在开源鸿蒙(OpenHarmony)的移植,主要利用工作之余的空闲时间移植,目前仅正常开机启动,触屏正常,最新已经初步支持GPU,其他功能就只能呵呵。OpenHarmony版本基于OpenHarmony 3.2 Beta5,内核基于Linux 6.1,同时也支持OpenHarmony的主线5.10内核版本(暂未使用)。

重要说明:

目前OpenHarmony只是初步适配,不适合使用,仅供学习用途,如果自己刷入后,手机变砖或其他问题,后果自行承担。虽然已经适配初步支持了GPU,但是还没有适配2d图形加速功能,普通的操作依然很卡,后续慢慢优化后释放体验包。本文的目的是让大家如何在手机上快速刷入OpenHarmony并针对刷机的一些要求和一些问题作简明说明,移植不在本文讨论范围。二、准备工作1、确认系统分区

一加6T支持A/B分区功能,目前刷入的镜像均在B分区。

一加6T的分区确认:

Model: SAMSUNG KLUDG4U1EA-B0C1 (scsi)Disk /dev/block/sda: 125GBSector size (logical/physical): 4096B/4096BPartition Table: gptDisk Flags:

Number Start End Size File system Name Flags 1 24.6kB 32.8kB 8192B ssd 2 32.8kB 33.6MB 33.6MB ext4 persist 3 33.6MB 34.6MB 1049kB misc 4 34.6MB 35.7MB 1049kB param 5 35.7MB 36.2MB 524kB keystore 6 36.2MB 36.7MB 524kB frp 7 36.7MB 305MB 268MB ext4 op2 8 305MB 316MB 10.5MB oem_dycnvbk 9 316MB 326MB 10.5MB oem_stanvbk10 326MB 334MB 8290kB reserve111 334MB 351MB 16.6MB reserve212 351MB 352MB 524kB config13 352MB 3350MB 2999MB ext2 system_a14 3350MB 6349MB 2999MB ext2 system_b15 6349MB 6454MB 105MB ext4 odm_a16 6454MB 6559MB 105MB ext4 odm_b17 6559MB 125GB 118GB ext4 userdata

其中刷机时,vender分区,对应手机的vender_b分区,实际对应分区号为/dev/block/sde44。

分区信息确认方法:

通过adb shell进入手机原系统进行确认,或进入TWRP采用parted命令行工具确认(可自行网上搜索使用方法,不在本文讨论范围之内)。

目前刷机包移植的OpenHarmony镜像对应一加6T刷机分区如下:

OpenHarmony镜像

分区号

分区名

备注

system.img

/dev/block/sda14

system_b分区

系统分区

vendor.img

/dev/block/sde44

vendor_b分区

厂商相关

userdata.img

/dev/block/sda17

userdata分区

用户(应用)数据,目前提供镜的像只是放置了部分Linux社区图片

boot.img

不需关注

boot_b分区

启动相关

其中,system.img和userdata.img分区镜像,目前OpenHarmony已经可以做到与芯片平台无关,其他手机或开发板(arm或aarch64架构)理论上,在满足基本存储和硬件要求的情况下均可以通用(刷入)。

boot.img和vendor.img与芯片平台相关,需要根据硬件适配和定制。

重要说明:

不符合上述分区的手机不建议刷入,如果强行刷入,后果自行承担刷机前请备份好系统数据,和boot镜像。其中boot_a分区有可能需要被刷入覆盖,尤其是Bootloader启动的时候不选择进入boot_b启动,表现的现象就是一直进入Bootloader(可通过fastboot命令获取当前启动分区),此时可能需要将boot.img镜像刷入boot_a分区2、解锁Bootloader

详细方法可参考教程:​​一加6、6T、7、7Pro 解锁,刷入TWRP、Magisk、ROOT教程​​

请在电脑(PC)安装好fastboot命令行工具,刷机主要采用fastboot命令进行操作,也可以采用TWRP刷机(本文不再赘述)。

目前采用fastboot刷入系统,理论上适合支持fastboot烧录更新系统的所有机型,无论是手机,还是各种开发板卡

3、下载镜像包

目前适配一加6T手机的开源鸿蒙镜像包,只是初步适配,不建议刷入,仅供学习OpenHarmony刷机使用。目前没有2D加速,GPU版本体验仍然很卡,请期待后续分享。

CPU版本镜像:

链接: https://pan.baidu.com/s/1DQ7oZ7wQMNgSJxl4dnKrhw?pwd=zs35 提取码: zs35

镜像包目录结构:

.|-- README.md #本文档|-- figures #图片|-- images|-- script #刷机BAT脚本| |-- 0.unlock.bat| |-- 1.flash_boot_a.bat| |-- 1.flash_boot_b.bat| |-- 2.flash_userdata.bat| |-- 3.flash_vendor.bat| |-- 4.flash_system.bat| `-- 5.reboot.bat`-- tools #工具 |-- android | `-- parted `-- windows `-- platform-tools.zip # fastboot及adb工具三、刷机步骤

目前仅提供简单的BAT脚本进行刷机,在script目录下,可按步骤执行脚本进行即可。

重要说明:

刷机前先进入Bootloader每次刷入镜像,如果连续刷入下一个镜像,执行BAT脚本或输入命令,命令行窗口等超过30s没有返回,需再次进入Bootloader,再刷入想要刷入的镜像。 如下状态(建议进入Bootloader后,通过音量下键,先选择到该项功能,按电源键即可再次进入Bootloader,请参考视频操作)步骤一、刷入boot.img

参考命令(如需刷入boot_a分区,改成boot_a及dtbo_a即可):

fastboot set_active bfastboot erase dtbo_bfastboot flash boot_b boot.img步骤二、刷入userdata.img

参考命令:

fastboot erase userdatafastboot flash userdata userdata.img步骤三、刷入vendor.img

参考命令:

fastboot erase vendor_bfastboot flash vendor_b vendor.img步骤四、刷入system.img

参考命令:

fastboot erase system_b

fastboot flash system_b system.img

四、常见问题1、刷完镜像后,一直进入原系统

建议执行以下命令选择B分区启动尝试,然后重启:

fastboot set_active b2、刷完镜像后,一直进Bootloader

用以下命令确认设备信息:

fastboot getvar all

重点关注下系统从哪个分区启动:

(bootloader) current-slot:a(bootloader) has-slot:boot:yes(bootloader) slot-retry-count:b:7(bootloader) slot-unbootable:b:yes(bootloader) slot-successful:b:no(bootloader) slot-retry-count:a:2(bootloader) slot-unbootable:a:yes(bootloader) slot-successful:a:no

其中(bootloader) current-slot:a 表示当前从A分区启动, 目前自己在调试用的机器,即使选择B分区启动,重启后仍然选择A分区启动,暂时不确定原因,通过重新执行刷入boot_a和userdata解决。

说明:

如果刷入boot_a,原系统目前不能正常进入,如果有备份原boot_a分区镜像,这里就体现了其重要性。

3、刷完镜像后,能够正常进入OpenHarmony,但显示不出欢迎页面

可能需要重新刷入userdata.img,请参考刷机步骤。

五、常用操作1、进入Bootloader的方法

关机下长按音量上 + 电源键(或者开机后adb下运行adb reboot bootloader)

2、fastboot解锁命令fastboot oem unlock

说明:需进入Bootloader,一加6T手机进入Bootloader的方法: 关机下长按音量上 + 电源键(或者开机后adb下运行adb reboot bootloader)

3、输出当前BL(Bootloader)锁状态fastboot oem device-info

命令返回结果如下(仅供参考):

(bootloader) Verity mode: true(bootloader) Device unlocked: true(bootloader) Device critical unlocked: false(bootloader) Charger screen enabled: true(bootloader) enable_dm_verity: true(bootloader) have_console: false(bootloader) selinux_type: SELINUX_TYPE_INVALID(bootloader) boot_mode: NORMAL_MODE(bootloader) kmemleak_detect: false(bootloader) force_training: 0(bootloader) mount_tempfs: 0(bootloader) op_abl_version: 0x31(bootloader) cal_rebootcount: 0x31OKAY [ 0.018s]Finished. Total time: 0.019s4、输出该设备的所有信息fastboot getvar all

返回结果如下(仅供参考):

(bootloader) hw-revision:20001(bootloader) unlocked:yes(bootloader) off-mode-charge:1(bootloader) charger-screen-enabled:1 ... ...(bootloader) has-slot:modem:yes(bootloader) has-slot:system:yes(bootloader) current-slot:a(bootloader) has-slot:boot:yes(bootloader) slot-retry-count:b:6(bootloader) slot-unbootable:b:yes(bootloader) slot-successful:b:no(bootloader) slot-retry-count:a:6(bootloader) slot-unbootable:a:yes(bootloader) slot-successful:a:no(bootloader) slot-count:2(bootloader) secure:yes(bootloader) serialno:567dc0e0(bootloader) product:sdm845(bootloader) max-download-size:536870912(bootloader) kernel:uefiall:Finished. Total time: 0.469s六、附录1、一加6T线刷包(救砖用)

链接: https://pan.baidu.com/s/1XSAF-yeP2RkhodPig5-gwQ?pwd=43j6

提取码: 43j6

2、参考刷机视频

​​一加6T开源鸿蒙移植系列 - 完整刷机过程​​

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.51cto.com​​



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有