[HTC U12+ Guides, News, & Discussion] 29988122:
Although the spreadsheet link on the first post died, I saw ziand's maintained backup on androidfilehost.com

Still, I have some questions to ask, regarding RUU variants.

***

Premise: U12+ has a limited edition in Taiwan, with Mayday (popular rock band) exclusive ringtones/wallpapers/theme/weatherclock font/dialpad ...they're not in/data, they persist even after you wiped /data/(factory reset).

As I have no idea how htc stored those assets / in which partition, I'd like to avoid using U12+ RUU, as that'd definitely wipe out exclusive contents. I also have no idea where they are, thus unable to backup.

If U12+ RUU won't remove these customized partitions, then I'm certainly doing that.

But, there's no way it won't wipe them out : (

***

Situation:

Due to TWRP bug (not up to date for 2019.10 security patch in TW variant), I got Check_Lifetime_Writes "1" under both system and vendor partition, thus I'm unable to OTA in the future.

I wonder if anybody have some idea about this mayday special variant.

***

After some research done by myself, here's some diff results after I dumped system.img (via dd if=/dev/block/sda18 of=/storage/emulated/0/system.img )and compare it to HTC_U12+_TW_2.50.709.3_Images

https://imgur.com/a/iyYpDJ8

Most of the .so are irrelevant, some GNU license header differences.

Some are build date/build log, minor differences.

Only calendar/dialer/telephony.apk has significant differences.

Most importantly, please check the last two pics, as for /system/build.prop

There's two different line:

U12+

ro.build.project=IMAGINE_DUGL_P90_SENSE10GP_MR:546 969

mayday

ro.build.project=IMAGINE_DUGL_P90_SENSE10GP_MR:548 514

U12+

ro.build.host=ABM121

mayday

ro.build.host=ABM123

I think those are the main differences, as they determined how they differ from normal U12+ variant and Mayday variant. They may also determined how the device OTA/how the com.htc.launcher choose mayday exclusive theme after factory reset.

They share the same major version numbering, though. (2.50.709.3) But they're indeed different.

I did patch my boot partition with magisk, bootloader unlocked - that's why I can su dd dump system partition.

***

Extra info:

getvar under download mode:

(bootloader) kernel: lk

(bootloader) product: htc_imedugl

(bootloader) version: 1.0

(bootloader) max-download-size: 1068800000

(bootloader) serialno: FA87R1F************

(bootloader) slot-count: 2

(bootloader) current-slot: a

(bootloader) imei: 353222*************

(bootloader) version-main: 1.30.709.2

(bootloader) boot-mode: download

(bootloader) version-baseband: sdm845-000041c-1906261449

(bootloader) version-bootloader: 1.0.0.0000

(bootloader) mid: 2Q5510000

(bootloader) cid: HTC__626

all:

Finished. Total time: 0.017s

getvar under bootloader:

(0)

(bootloader) is_avb_critical_error:no

(bootloader) boot-mode:FASTBOOT

(bootloader) hw-revision:20001

(bootloader) unlocked:yes

(bootloader) off-mode-charge:0

(bootloader) charger-screen-enabled:0

(bootloader) battery-soc-ok:yes

(bootloader) battery-voltage:3944

(bootloader) version-baseband:

(bootloader) version-bootloader:

(bootloader) erase-block-size: 0x1000

(bootloader) logical-block-size: 0x1000

(bootloader) variant:SDM UFS

(bootloader) partition-type:reserve5:raw

(bootloader) partition-size:reserve5: 0xB1

(bootloader) partition-type:modemst2:raw

(bootloader) partition-size:modemst2: 0x20

(bootloader) partition-type:modemst1:raw

(bootloader) partition-size:modemst1: 0x20

(bootloader) partition-type:fsc:raw

(bootloader) partition-size:fsc: 0x100000

(bootloader) partition-type:fsg:raw

(bootloader) partition-size:fsg: 0x200000

(bootloader) partition-type:mfg:raw

(bootloader) partition-size:mfg: 0x40000

(bootloader) partition-type:board_info:raw

(bootloader) partition-size:board_info: 0x

(bootloader) partition-type:reserve4:raw

(bootloader) partition-size:reserve4: 0x32

(bootloader) partition-type:avb_rec:raw

(bootloader) partition-size:avb_rec: 0x400

(bootloader) partition-type:storsec:raw

(bootloader) partition-size:storsec: 0x200

(bootloader) partition-type:logdump:raw

(bootloader) partition-size:logdump: 0x400

(bootloader) partition-type:sti:raw

(bootloader) partition-size:sti: 0x200000

(bootloader) partition-type:logfs:raw

(bootloader) partition-size:logfs: 0x80000

(bootloader) partition-type:toolsfv:raw

(bootloader) partition-size:toolsfv: 0x100

(bootloader) partition-type:limits:raw

(bootloader) partition-size:limits: 0x1000

(bootloader) partition-type:sp1:raw

(bootloader) partition-size:sp1: 0x20A4000

(bootloader) partition-type:dpo:raw

(bootloader) partition-size:dpo: 0x1000

(bootloader) partition-type:msadp:raw

(bootloader) partition-size:msadp: 0x40000

(bootloader) partition-type:apdp:raw

(bootloader) partition-size:apdp: 0x40000

(bootloader) partition-type:dip:raw

(bootloader) partition-size:dip: 0x100000

(bootloader) partition-type:devinfo:raw

(bootloader) partition-size:devinfo: 0x100

(bootloader) partition-type:sec:raw

(bootloader) partition-size:sec: 0x4000

(bootloader) partition-type:dtbo_b:raw

(bootloader) partition-size:dtbo_b: 0x8000

(bootloader) partition-type:vbmeta_b:raw

(bootloader) partition-size:vbmeta_b: 0x10

(bootloader) partition-type:vendor_b:raw

(bootloader) partition-size:vendor_b: 0x40

(bootloader) partition-type:qupfw_b:raw

(bootloader) partition-size:qupfw_b: 0x100

(bootloader) partition-type:devcfg_b:raw

(bootloader) partition-size:devcfg_b: 0x20

(bootloader) partition-type:cmnlib64_b:raw

(bootloader) partition-size:cmnlib64_b: 0x

(bootloader) partition-type:cmnlib_b:raw

(bootloader) partition-size:cmnlib_b: 0x80

(bootloader) partition-type:hosd_b:raw

(bootloader) partition-size:hosd_b: 0x2000

(bootloader) partition-type:boot_b:raw

(bootloader) partition-size:boot_b: 0x4000

(bootloader) partition-type:lockbooter_b:r

(bootloader) partition-size:lockbooter_b:

(bootloader) partition-type:keymaster_b:ra

(bootloader) partition-size:keymaster_b: 0

(bootloader) partition-type:dsp_b:raw

(bootloader) partition-size:dsp_b: 0x20000

(bootloader) partition-type:abl_b:raw

(bootloader) partition-size:abl_b: 0x10000

(bootloader) partition-type:mdtp_b:raw

(bootloader) partition-size:mdtp_b: 0x2000

(bootloader) partition-type:mdtpsecapp_b:r

(bootloader) partition-size:mdtpsecapp_b:

(bootloader) partition-type:bluetooth_b:ra

(bootloader) partition-size:bluetooth_b: 0

(bootloader) partition-type:radio_b:raw

(bootloader) partition-size:radio_b: 0x6E0

(bootloader) partition-type:pmic_b:raw

(bootloader) partition-size:pmic_b: 0x8000

(bootloader) partition-type:hyp_b:raw

(bootloader) partition-size:hyp_b: 0x80000

(bootloader) partition-type:tz_b:raw

(bootloader) partition-size:tz_b: 0x200000

(bootloader) partition-type:aop_b:raw

(bootloader) partition-size:aop_b: 0x80000

(bootloader) partition-type:dtbo_a:raw

(bootloader) partition-size:dtbo_a: 0x8000

(bootloader) partition-type:vbmeta_a:raw

(bootloader) partition-size:vbmeta_a: 0x10

(bootloader) partition-type:vendor_a:raw

(bootloader) partition-size:vendor_a: 0x40

(bootloader) partition-type:qupfw_a:raw

(bootloader) partition-size:qupfw_a: 0x100

(bootloader) partition-type:devcfg_a:raw

(bootloader) partition-size:devcfg_a: 0x20

(bootloader) partition-type:cmnlib64_a:raw

(bootloader) partition-size:cmnlib64_a: 0x

(bootloader) partition-type:cmnlib_a:raw

(bootloader) partition-size:cmnlib_a: 0x80

(bootloader) partition-type:hosd_a:raw

(bootloader) partition-size:hosd_a: 0x2000

(bootloader) partition-type:boot_a:raw

(bootloader) partition-size:boot_a: 0x4000

(bootloader) partition-type:lockbooter_a:r

(bootloader) partition-size:lockbooter_a:

(bootloader) partition-type:keymaster_a:ra

(bootloader) partition-size:keymaster_a: 0

(bootloader) partition-type:dsp_a:raw

(bootloader) partition-size:dsp_a: 0x20000

(bootloader) partition-type:abl_a:raw

(bootloader) partition-size:abl_a: 0x10000

(bootloader) partition-type:mdtp_a:raw

(bootloader) partition-size:mdtp_a: 0x2000

(bootloader) partition-type:mdtpsecapp_a:r

(bootloader) partition-size:mdtpsecapp_a:

(bootloader) partition-type:bluetooth_a:ra

(bootloader) partition-size:bluetooth_a: 0

(bootloader) partition-type:radio_a:raw

(bootloader) partition-size:radio_a: 0x6E0

(bootloader) partition-type:pmic_a:raw

(bootloader) partition-size:pmic_a: 0x8000

(bootloader) partition-type:hyp_a:raw

(bootloader) partition-size:hyp_a: 0x80000

(bootloader) partition-type:tz_a:raw

(bootloader) partition-size:tz_a: 0x200000

(bootloader) partition-type:aop_a:raw

(bootloader) partition-size:aop_a: 0x80000

(bootloader) partition-type:ddr:raw

(bootloader) partition-size:ddr: 0x3BB000

(bootloader) partition-type:cdt:raw

(bootloader) partition-size:cdt: 0x20000

(bootloader) partition-type:padding3:raw

(bootloader) partition-size:padding3: 0x1A

(bootloader) partition-type:xbl_config_b:r

(bootloader) partition-size:xbl_config_b:

(bootloader) partition-type:xbl_b:raw

(bootloader) partition-size:xbl_b: 0x3D500

(bootloader) partition-type:xbl_config_a:r

(bootloader) partition-size:xbl_config_a:

(bootloader) partition-type:xbl_a:raw

(bootloader) partition-size:xbl_a: 0x3D500

(bootloader) partition-type:reserve0:raw

(bootloader) partition-size:reserve0: 0x14

(bootloader) partition-type:userdata:ext4

(bootloader) partition-size:userdata: 0xC2

(bootloader) partition-type:system_b:ext4

(bootloader) partition-size:system_b: 0x10

(bootloader) partition-type:system_a:ext4

(bootloader) partition-size:system_a: 0x10

(bootloader) partition-type:cota:raw

(bootloader) partition-size:cota: 0x3C0000

(bootloader) partition-type:carrier:raw

(bootloader) partition-size:carrier: 0x2D0

(bootloader) partition-type:local:raw

(bootloader) partition-size:local: 0x14100

(bootloader) partition-type:frp:raw

(bootloader) partition-size:frp: 0x80000

(bootloader) partition-type:control:raw

(bootloader) partition-size:control: 0x800

(bootloader) partition-type:extra:raw

(bootloader) partition-size:extra: 0x20000

(bootloader) partition-type:fataldevlog:ra

(bootloader) partition-size:fataldevlog: 0

(bootloader) partition-type:devlog:raw

(bootloader) partition-size:devlog: 0x1E00

(bootloader) partition-type:tool_diag:raw

(bootloader) partition-size:tool_diag: 0xA

(bootloader) partition-type:ramdump:raw

(bootloader) partition-size:ramdump: 0xA00

(bootloader) partition-type:oem_misc:raw

(bootloader) partition-size:oem_misc: 0x10

(bootloader) partition-type:misc:raw

(bootloader) partition-size:misc: 0x100000

(bootloader) partition-type:pg1fs:raw

(bootloader) partition-size:pg1fs: 0x40000

(bootloader) partition-type:hvbmeta:raw

(bootloader) partition-size:hvbmeta: 0x17B

(bootloader) partition-type:persist:raw

(bootloader) partition-size:persist: 0x200

(bootloader) partition-type:ssd:raw

(bootloader) partition-size:ssd: 0x2000

(bootloader) partition-type:padding0:raw

(bootloader) partition-size:padding0: 0x1A

(bootloader) has-slot:modem:no

(bootloader) has-slot:system:yes

(bootloader) current-slot:a

(bootloader) has-slot:boot:yes

(bootloader) slot-retry-count:b:6

(bootloader) slot-unbootable:b:no

(bootloader) slot-successful:b:yes

(bootloader) slot-retry-count:a:6

(bootloader) slot-unbootable:a:no

(bootloader) slot-successful:a:yes

(bootloader) slot-count:2

(bootloader) secure:yes

(bootloader) serialno:FA87R1F*****

(bootloader) product:

(bootloader) max-download-size:536870912

(bootloader) kernel:uefi

all:

Finished. Total time: 0.221s

Question:

1. I wonder if anyone can somehow magically get these ruu files for U12+ mayday edition? I'd really like to know if such ruu files really exists...(both U12+ and Mayday share same version number, and their system partition are of minor differences, as you've already seen above)

2. if not, then how can I backup my current /system and /vendor *correctly*?

The dd command that I mentioned above, I have no confidence.

As you can see, I did this

dd if=/dev/block/sda18 of=/storage/emulated/0/system.img

8527872+0 records in

8527872+0 records out

4366270464 bytes transferred in 50.255 secs (86882309 bytes/sec)

for the compare/diff (imgur album).

However, I have no idea if I should FLASH BACK / if I backuped correctly.

That is, can I "DUMP AND FLASH BACK THE SAME FILE", in order to reset Check_Lifetime_Writes, in order to get ota ability in the future for android 10? (for the sake of preserving Mayday variant's system partition)

Or, you cannot do that ?

Cause I've seen that /sys/ path is empty in dumped system.img, so I * guess * I can dump and then immediately flash back, to reset the ext4 system metadata including lifetime_write. If that's not the case, then ignore me. QQ for me.

Thank you, guys, for taking your time.