适用于华为平板C5(BZT 您所在的位置:网站首页 华为刷双系统win 适用于华为平板C5(BZT

适用于华为平板C5(BZT

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

该方法或许不仅适用于该平板,但up只在该平板上做过测试

C5平板系华为面向企业的定制机型,因此其定制ROM的功能往往局限而特殊,这篇专栏将讨论如何在保存原系统的情况下使用正常ROM功能。

如标题所示,我们将使用双系统的方式实现。

首先,需要向平板中刷入twrp(此处不再赘述),另为以防万一请做好备份。

下面我们将通过修改分区挂载点使系统在启动时从SD卡挂载分区,因此您需要容量较大且速度较快的SD卡(up测试时用的低速SD卡,系统卡顿很严重)。

以下两步均在twrp下执行(没有截图),请先在twrp下重新挂载所有分区

为SD卡分区

1.将parted放入/system/bin/文件夹下,并将读写权限设置为755.

2.在终端中输入命令"parted /dev/block/mmcblk1"进入parted操作SD卡(终端会由"~#"变为”(parted)")。

3.输入指令"mklable gpt"重建gpt分区表,这一步将清除SD卡所有数据。

4.为保证平板可以正常识别SD卡,将第一个分区建立为FAT32的正常分区,输入指令

“mkpart primary fat32 0% 10%"

此处up为其分配了10%的空间(其实可以更小)

5.下面您可以建立多个分区以刷入正常ROM的分区,但up实际只修改了version,product,userdata三个分区,事实上这也已经足够,此处up输入的指令为

”mkpart product ext4 10% 15%"

"mkpart version ext4 15% 18%"

"mkpart userdata xfs 18% 100%"

事实上,userdata分区应为f2fs文件系统,但up用的GUN PARTED为3.2版本,3.4及以上版本支持创建f2fs分区,后面几步中会做出调整。

6.输入指令"p"以查看分区情况

7.输入指令“q“以退出parted

mkpart指令用法:mkpart [分区名] [文件系统] [起始位置] [终止位置] (位置支持b,kb,mb,gb或者百分数)

将镜像写入SD卡分区

此处使用dd指令,其格式为"dd if=[镜像位置] of=[分区]"

例如up刚刚创建了四个分区,第二个为product,第三个为version,第四个为userdata,up又将镜像临时放在了data分区下,那么此处应当输入的指令为

”dd if=/data/product.img of=/dev/block/mmcblk1p2"

"dd if=/data/version.img of=/dev/block/mmcblk1p3"

(mmcblk0表示本机存储,mmcblk1表示SD卡,后面p表示分区序号)

至于userdata分区,up写入后反而无法启动,索性直接将其格式化为空分区

“make_f2fs /dev/block/mmcblk1p4"

修改挂载点

华为C5平板的挂载点为/vendor/etc/fstab.hi6250这个文件

将对应分区修改为SD卡中对应的分区

同时去除了userdata的分区加密(将”fileencryption=aes-256-xts:aes-256-cts"删除)

修改前修改后

修改开机脚本

修改位于/vendor/etc/init/hw/init.hi6250.rc文件

在on fs下的mount_all语句下方添加

"umount /version"

"mount ext4 /dev/block/mmcblk1p3"

如图添加

至此,重新启动系统便会从SD卡的分区中启动,如果要切换回原系统只需将原来的挂载点和脚本替换回去,因此您可以在SD卡中同时保留两份文件,切换时只需在twrp中复制粘贴文件即可在两个系统中切换。

(8月17日更新)现发现/vendor/etc中的fstab.hi6250文件仅为副本,用于接管init进程完成分区提前装载后的访问,而system等分区实际已在init进程中完成挂载,因此修改副本的部分分区并无作用,正在寻求新的解决方案

(9月3日更新) 增加修改开机脚本部分以修正8月17日发现的问题,在fs阶段重新挂载部分分区,但如/system  /vendor此类分区的挂载可能不生效。事实上如果您只需要使用两个系统而不要求完全从SD卡启动,这个方案已经足够



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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