General What we currently know about unlocking the Vivo X70 Pro+ - Vivo X70 Pro+

Well guys, i wanna collect some information about the unlocking status or possibilities for the X70 Pro+
I think this will be a bit "work - in - progess" threat, as we maybe get it sometimes figured out how to unlock that beast...
So...
Some commands:
ADB debugging "on" and OEM unlock also "on"
Code:
ADB reboot bootloader - works
ADB reboot recovery - works
ADB reboot fastboot - works
all three options looks a bit different from the menue
As we are in the recovery menue - we can tab multiple times on the bottom text, to reveal a fourth button called "logs"
As we are in fastboot mode:
Code:
fastboot oem unlock - doesn't work (no perrmission)
fastboot oem unlock-go - doesn't work (no perrmission)
fastboot boot boot.img - doesn't work (no perrmission) - image gets send sucessfully
fastboot flash boot boot.img - doesn't work (no perrmission because no UL BL)
Next is in androidsystem:
Open dialpad and type in *#558#
there you can open up a "diag port"
With the Qualcom drivers installed u will get 2 new COM Ports.
From there i used this guide: https://androidmtk.com/use-qpst-flash-tool
Using the QPST tool i could download a backup of the NV partition? (Diag Port enabled!)
I think the software QFIL - https://qfiltool.com/qfil-tool-v2-0-3-5 would be able to use this diag port!?
I also found a software - called "Ultimate Multi Tool - QCFire" but this needs a dongle to work properly, so i don't know if that would work.
I will also upload the latest original Chinese ROM - found on vivo.com/cn - as far as i can tell, it looks quite different from the files.
Many other hardwareversions....?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
At least we can extract the boot.img and patch via Magisk. But how to sign the hole package???
When trying to flash via recovery its rejected with "hash - error"...
Maybe @razor07b7 can take a look and has some hints / ideas....
Latest CN Stock ROM - Mediafire
Spoiler: Fastboot getvar ...
Code:
D:\ADB>fastboot getvar all
(bootloader) parallel-download-flash:yes
(bootloader) hw-revision:20001
(bootloader) unlocked:no
(bootloader) off-mode-charge:1
(bootloader) charger-screen-enabled:1
(bootloader) battery-soc-ok:yes
(bootloader) battery-voltage:3773
(bootloader) version-baseband:
(bootloader) version-bootloader:
(bootloader) erase-block-size: 0x1000
(bootloader) logical-block-size: 0x1000
(bootloader) variant:SM_ UFS
(bootloader) partition-type:fsc:raw
(bootloader) partition-size:fsc: 0x20000
(bootloader) partition-type:fsg:raw
(bootloader) partition-size:fsg: 0x300000
(bootloader) partition-type:modemst2:raw
(bootloader) partition-size:modemst2: 0x300000
(bootloader) partition-type:modemst1:raw
(bootloader) partition-size:modemst1: 0x300000
(bootloader) partition-type:ALIGN_TO_128K_2:raw
(bootloader) partition-size:ALIGN_TO_128K_2: 0x1A000
(bootloader) partition-type:rtice:raw
(bootloader) partition-size:rtice: 0x80000
(bootloader) partition-type:spunvm:raw
(bootloader) partition-size:spunvm: 0x2000000
(bootloader) partition-type:tzsc:raw
(bootloader) partition-size:tzsc: 0x20000
(bootloader) partition-type:connsec:raw
(bootloader) partition-size:connsec: 0x20000
(bootloader) partition-type:mdcompress:raw
(bootloader) partition-size:mdcompress: 0x1400000
(bootloader) partition-type:vm-data:raw
(bootloader) partition-size:vm-data: 0x20A4000
(bootloader) partition-type:secdata:raw
(bootloader) partition-size:secdata: 0x7000
(bootloader) partition-type:uefivarstore:raw
(bootloader) partition-size:uefivarstore: 0x80000
(bootloader) partition-type:storsec:raw
(bootloader) partition-size:storsec: 0x20000
(bootloader) partition-type:logdump:raw
(bootloader) partition-size:logdump: 0x4000000
(bootloader) partition-type:logfs:raw
(bootloader) partition-size:logfs: 0x800000
(bootloader) partition-type:limits-cdsp:raw
(bootloader) partition-size:limits-cdsp: 0x1000
(bootloader) partition-type:limits:raw
(bootloader) partition-size:limits: 0x1000
(bootloader) partition-type:splash:raw
(bootloader) partition-size:splash: 0x20A4000
(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: 0x1000
(bootloader) partition-type:qweslicstore:raw
(bootloader) partition-size:qweslicstore: 0x40000
(bootloader) partition-type:qmcs:raw
(bootloader) partition-size:qmcs: 0x2000000
(bootloader) partition-type:vendor_boot:raw
(bootloader) partition-size:vendor_boot: 0x6000000
(bootloader) partition-type:featenabler:raw
(bootloader) partition-size:featenabler: 0x20000
(bootloader) partition-type:cpucp:raw
(bootloader) partition-size:cpucp: 0x100000
(bootloader) partition-type:multiimgoem:raw
(bootloader) partition-size:multiimgoem: 0x8000
(bootloader) partition-type:vm-bootsys:raw
(bootloader) partition-size:vm-bootsys: 0x10625000
(bootloader) partition-type:shrm:raw
(bootloader) partition-size:shrm: 0x20000
(bootloader) partition-type:imagefv:raw
(bootloader) partition-size:imagefv: 0x200000
(bootloader) partition-type:uefisecapp:raw
(bootloader) partition-size:uefisecapp: 0x200000
(bootloader) partition-type:dtbo:raw
(bootloader) partition-size:dtbo: 0x1800000
(bootloader) partition-type:vbmeta:raw
(bootloader) partition-size:vbmeta: 0x10000
(bootloader) partition-type:qupfw:raw
(bootloader) partition-size:qupfw: 0x14000
(bootloader) partition-type:devcfg:raw
(bootloader) partition-size:devcfg: 0x20000
(bootloader) partition-type:boot:raw
(bootloader) partition-size:boot: 0x6000000
(bootloader) partition-type:keymaster:raw
(bootloader) partition-size:keymaster: 0x80000
(bootloader) partition-type:dsp:raw
(bootloader) partition-size:dsp: 0x4000000
(bootloader) partition-type:abl:raw
(bootloader) partition-size:abl: 0x1000000
(bootloader) partition-type:mdtp:raw
(bootloader) partition-size:mdtp: 0x2000000
(bootloader) partition-type:mdtpsecapp:raw
(bootloader) partition-size:mdtpsecapp: 0x400000
(bootloader) partition-type:bluetooth:raw
(bootloader) partition-size:bluetooth: 0x200000
(bootloader) partition-type:modem:raw
(bootloader) partition-size:modem: 0x10000000
(bootloader) partition-type:hyp:raw
(bootloader) partition-size:hyp: 0x800000
(bootloader) partition-type:tz:raw
(bootloader) partition-size:tz: 0x400000
(bootloader) partition-type:aop:raw
(bootloader) partition-size:aop: 0x80000
(bootloader) partition-type:ddr:raw
(bootloader) partition-size:ddr: 0x100000
(bootloader) partition-type:cdt:raw
(bootloader) partition-size:cdt: 0x20000
(bootloader) partition-type:ALIGN_TO_128K_1:raw
(bootloader) partition-size:ALIGN_TO_128K_1: 0x1A000
(bootloader) partition-type:xbl_configbak:raw
(bootloader) partition-size:xbl_configbak: 0x40000
(bootloader) partition-type:xblbak:raw
(bootloader) partition-size:xblbak: 0x700000
(bootloader) partition-type:xbl_config:raw
(bootloader) partition-size:xbl_config: 0x40000
(bootloader) partition-type:xbl:raw
(bootloader) partition-size:xbl: 0x700000
(bootloader) partition-type:userdata:f2fs
(bootloader) partition-size:userdata: 0x37913C3000
(bootloader) partition-type:cache:ext4
(bootloader) partition-size:cache: 0x10000000
(bootloader) partition-type:super:raw
(bootloader) partition-size:super: 0x380000000
(bootloader) partition-type:factory:raw
(bootloader) partition-size:factory: 0x8000000
(bootloader) partition-type:recovery:raw
(bootloader) partition-size:recovery: 0x6000000
(bootloader) partition-type:vbmeta_oem:raw
(bootloader) partition-size:vbmeta_oem: 0x10000
(bootloader) partition-type:vbmeta_vgc:raw
(bootloader) partition-size:vbmeta_vgc: 0x10000
(bootloader) partition-type:storage:raw
(bootloader) partition-size:storage: 0x4000000
(bootloader) partition-type:seed:raw
(bootloader) partition-size:seed: 0x400000
(bootloader) partition-type:reserved:raw
(bootloader) partition-size:reserved: 0xA00000
(bootloader) partition-type:backup:raw
(bootloader) partition-size:backup: 0xA00000
(bootloader) partition-type:apanic:raw
(bootloader) partition-size:apanic: 0xA00000
(bootloader) partition-type:rawdump:raw
(bootloader) partition-size:rawdump: 0x8000000
(bootloader) partition-type:metadata:ext4
(bootloader) partition-size:metadata: 0x1000000
(bootloader) partition-type:vbmeta_system:raw
(bootloader) partition-size:vbmeta_system: 0x10000
(bootloader) partition-type:frp:raw
(bootloader) partition-size:frp: 0x80000
(bootloader) partition-type:keystore:raw
(bootloader) partition-size:keystore: 0x80000
(bootloader) partition-type:misc:raw
(bootloader) partition-size:misc: 0x100000
(bootloader) partition-type:persist:raw
(bootloader) partition-size:persist: 0x2000000
(bootloader) partition-type:ssd:raw
(bootloader) partition-size:ssd: 0x2000
(bootloader) secure:yes
(bootloader) serialno: (removed by me)
(bootloader) product:lahaina
(bootloader) is-userspace:no
(bootloader) max-download-size:805306368
(bootloader) kernel:uefi
Spoiler: Update_script_Chinese_ROM
Code:
assert(getprop("ro.vivo.hardware.version") == "PD2145MA" || getprop("ro.hardware.bbk") == "PD2145MA");
ui_print("travel Verify operation begin");
ui_print(getprop("recovery.gui_mode"));
if getprop("recovery.gui_mode") == "1" && getprop("recovery.repair_mode") == "0" && getprop("ro.vivo.os.version") != "12.0" then
abort("Package expects os version of 12.0; this device has " + getprop("ro.vivo.os.version") + ".");
endif;
getprop("ro.vivo.oem.name") == "" ||
getprop("ro.vivo.oem.name") == "PD2145_N_NULL_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_CN-YD-A" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CMCC_RWC_CN-YD-C" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CMCC_RWA_CN-YD-A" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_GMS" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_SC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CMCC_RWA_CN-YD-A" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CMCC_RWC_CN-YD-C" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_SC_CN-YD-A" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CTCC_RWC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CTCC_RWC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_UNICOM_RWA_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CMCC_RWA_CN-YD-A" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CTCC_RWC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_SC_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL" ||
getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CMCC_RWC_CN-YD-C" ||
getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_SC_CN-YD-A" ||
abort("Package expects oem name of or PD2145_N_NULL_NULL or PD2145_CN-ZH_FULL_SC_CN-YD-A or PD2145_CN-ZH_FULL_SC_NULL or PD2145_CN-ZH_CMCC_RWC_CN-YD-C or PD2145B_CN-ZH_CMCC_RWA_CN-YD-A or PD2145_CN-ZH_FULL_SC_GMS or PD2145C_CN-ZH_FULL_SC_NULL or PD2145_CN-ZH_CMCC_RWA_CN-YD-A or PD2145B_CN-ZH_CMCC_RWC_CN-YD-C or PD2145C_CN-ZH_FULL_SC_CN-YD-A or PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL or PD2145B_CN-ZH_CTCC_RWC_NULL or PD2145_CN-ZH_CTCC_RWC_NULL or PD2145_CN-ZH_FULL_UNICOM_RWA_NULL or PD2145C_CN-ZH_CMCC_RWA_CN-YD-A or PD2145C_CN-ZH_CTCC_RWC_NULL or PD2145B_CN-ZH_FULL_SC_NULL or PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL or PD2145C_CN-ZH_CMCC_RWC_CN-YD-C or PD2145B_CN-ZH_FULL_SC_CN-YD-A; this device has " + getprop("ro.vivo.oem.name") + ".");
if getprop("recovery.gui_mode") == "1" && getprop("recovery.repair_mode") == "0" then
if getprop("ro.vivo.cota.enable") == "1" && getprop("persist.vivo.cota.cust1") != "" && getprop("persist.vivo.cota.cust1") != "N" then
abort("Device cota property is set, please check cust1.");
endif;
if getprop("ro.vivo.cota.enable") == "1" && getprop("persist.vivo.cota.cust1") == "" && getprop("persist.vivo.cota.cust2") != "N" then
abort("Device cota property is set, please check cust2.");
endif;
endif;
apply_patch_space(52776960) || abort("E3006: Not enough free space on /cache to apply patches.");
ui_print("Target: vivo/PD2145/PD2145:11/RP1A.200720.012/compiler0929082621:user/release-keys");
ui_print("travel Verify operation end");
ui_print("travel Update operation begin");
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("dynamic_partitions_op_list")));
# Patch partition system
ui_print("Patching system image unconditionally...");
show_progress(0.700000, 280);
ui_print("tsaltes 0x2E707521 1");
block_image_update(map_partition("system"), package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
ui_print("tsaltes 0x2E707521 0");
# Patch partition vendor
ui_print("Patching vendor image unconditionally...");
show_progress(0.100000, 40);
ui_print("tsaltes 0x2E707521 1");
block_image_update(map_partition("vendor"), package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat") ||
abort("E2001: Failed to update vendor image.");
ui_print("tsaltes 0x2E707521 0");
# Patch partition odm
ui_print("Patching odm image unconditionally...");
show_progress(0.100000, 40);
ui_print("tsaltes 0x2E707521 1");
block_image_update(map_partition("odm"), package_extract_file("odm.transfer.list"), "odm.new.dat", "odm.patch.dat") ||
abort("E2001: Failed to update odm image.");
ui_print("tsaltes 0x2E707521 0");
# --- End patching dynamic partitions ---
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.100000, 10);
ui_print("Writing radio image...");
ui_print("tctl 0");
assert(package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem"));
assert(package_extract_file("firmware-update/dspso.bin", "/dev/block/bootdevice/by-name/dsp"));
assert(package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth"));
assert(package_extract_file("firmware-update/dtbo.img", "/dev/block/bootdevice/by-name/dtbo"));
assert(package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfw"));
assert(package_extract_file("firmware-update/km41.mbn", "/dev/block/bootdevice/by-name/keymaster"));
assert(package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecapp"));
assert(package_extract_file("firmware-update/shrm.elf", "/dev/block/bootdevice/by-name/shrm"));
assert(package_extract_file("firmware-update/vm-bootsys.img", "/dev/block/bootdevice/by-name/vm-bootsys"));
assert(package_extract_file("firmware-update/multi_image.mbn", "/dev/block/bootdevice/by-name/multiimgoem"));
assert(package_extract_file("firmware-update/cpucp.elf", "/dev/block/bootdevice/by-name/cpucp"));
assert(package_extract_file("firmware-update/storsec.mbn", "/dev/block/bootdevice/by-name/storsec"));
assert(package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/abl"));
assert(package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz"));
assert(package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg"));
assert(package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aop"));
assert(package_extract_file("firmware-update/hypvm.mbn", "/dev/block/bootdevice/by-name/hyp"));
assert(package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_config"));
assert(package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl"));
assert(package_extract_file("firmware-update/firmware.bin", "/dev/block/bootdevice/by-name/storage"));
assert(package_extract_file("firmware-update/logfs_ufs_8mb.bin", "/dev/block/bootdevice/by-name/logfs"));
assert(package_extract_file("firmware-update/featenabler.mbn", "/dev/block/bootdevice/by-name/featenabler"));
assert(package_extract_file("firmware-update/spunvm.bin", "/dev/block/bootdevice/by-name/spunvm"));
assert(package_extract_file("firmware-update/rtice.mbn", "/dev/block/bootdevice/by-name/rtice"));
assert(package_extract_file("firmware-update/mdcompress.mbn", "/dev/block/bootdevice/by-name/mdcompress"));
assert(package_extract_file("firmware-update/vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta"));
assert(package_extract_file("firmware-update/vbmeta_system.img", "/dev/block/bootdevice/by-name/vbmeta_system"));
assert(package_extract_file("firmware-update/vendor_boot.img", "/dev/block/bootdevice/by-name/vendor_boot"));
assert(package_extract_file("firmware-update/recovery.img", "/dev/block/bootdevice/by-name/recovery"));
ui_print("tctl 1");
if getprop("ro.vivo.oem.name") == "PD2145_N_NULL_NULL" || getprop("ro.vivo.oem.name") == "" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_N_NULL_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145_N_NULL_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_N_NULL_NULL.transfer.list"), "oem/OEM_PD2145_N_NULL_NULL.new.dat.br", "oem/OEM_PD2145_N_NULL_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_N_NULL_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_N_NULL_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_FULL_SC_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_FULL_SC_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_FULL_SC_CN-YD-A.transfer.list"), "oem/OEM_PD2145_CN-ZH_FULL_SC_CN-YD-A.new.dat.br", "oem/OEM_PD2145_CN-ZH_FULL_SC_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_FULL_SC_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_FULL_SC_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_FULL_SC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_FULL_SC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_FULL_SC_NULL.transfer.list"), "oem/OEM_PD2145_CN-ZH_FULL_SC_NULL.new.dat.br", "oem/OEM_PD2145_CN-ZH_FULL_SC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_FULL_SC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_FULL_SC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CMCC_RWC_CN-YD-C" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_CMCC_RWC_CN-YD-C")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_CMCC_RWC_CN-YD-C image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_CMCC_RWC_CN-YD-C.transfer.list"), "oem/OEM_PD2145_CN-ZH_CMCC_RWC_CN-YD-C.new.dat.br", "oem/OEM_PD2145_CN-ZH_CMCC_RWC_CN-YD-C.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_CMCC_RWC_CN-YD-C image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_CMCC_RWC_CN-YD-C.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CMCC_RWA_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A.transfer.list"), "oem/OEM_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A.new.dat.br", "oem/OEM_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_CMCC_RWA_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_SC_GMS" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_FULL_SC_GMS")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_FULL_SC_GMS image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_FULL_SC_GMS.transfer.list"), "oem/OEM_PD2145_CN-ZH_FULL_SC_GMS.new.dat.br", "oem/OEM_PD2145_CN-ZH_FULL_SC_GMS.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_FULL_SC_GMS image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_FULL_SC_GMS.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_SC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_FULL_SC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_FULL_SC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_FULL_SC_NULL.transfer.list"), "oem/OEM_PD2145C_CN-ZH_FULL_SC_NULL.new.dat.br", "oem/OEM_PD2145C_CN-ZH_FULL_SC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_FULL_SC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_FULL_SC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CMCC_RWA_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_CMCC_RWA_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_CMCC_RWA_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_CMCC_RWA_CN-YD-A.transfer.list"), "oem/OEM_PD2145_CN-ZH_CMCC_RWA_CN-YD-A.new.dat.br", "oem/OEM_PD2145_CN-ZH_CMCC_RWA_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_CMCC_RWA_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_CMCC_RWA_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CMCC_RWC_CN-YD-C" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C.transfer.list"), "oem/OEM_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C.new.dat.br", "oem/OEM_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_CMCC_RWC_CN-YD-C.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_SC_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_FULL_SC_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_FULL_SC_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_FULL_SC_CN-YD-A.transfer.list"), "oem/OEM_PD2145C_CN-ZH_FULL_SC_CN-YD-A.new.dat.br", "oem/OEM_PD2145C_CN-ZH_FULL_SC_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_FULL_SC_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_FULL_SC_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL.transfer.list"), "oem/OEM_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL.new.dat.br", "oem/OEM_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_FULL_UNICOM_RWA_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_CTCC_RWC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_CTCC_RWC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_CTCC_RWC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_CTCC_RWC_NULL.transfer.list"), "oem/OEM_PD2145B_CN-ZH_CTCC_RWC_NULL.new.dat.br", "oem/OEM_PD2145B_CN-ZH_CTCC_RWC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_CTCC_RWC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_CTCC_RWC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_CTCC_RWC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_CTCC_RWC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_CTCC_RWC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_CTCC_RWC_NULL.transfer.list"), "oem/OEM_PD2145_CN-ZH_CTCC_RWC_NULL.new.dat.br", "oem/OEM_PD2145_CN-ZH_CTCC_RWC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_CTCC_RWC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_CTCC_RWC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145_CN-ZH_FULL_UNICOM_RWA_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL.transfer.list"), "oem/OEM_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL.new.dat.br", "oem/OEM_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145_CN-ZH_FULL_UNICOM_RWA_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CMCC_RWA_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A.transfer.list"), "oem/OEM_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A.new.dat.br", "oem/OEM_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_CMCC_RWA_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CTCC_RWC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_CTCC_RWC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_CTCC_RWC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_CTCC_RWC_NULL.transfer.list"), "oem/OEM_PD2145C_CN-ZH_CTCC_RWC_NULL.new.dat.br", "oem/OEM_PD2145C_CN-ZH_CTCC_RWC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_CTCC_RWC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_CTCC_RWC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_SC_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_FULL_SC_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_FULL_SC_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_FULL_SC_NULL.transfer.list"), "oem/OEM_PD2145B_CN-ZH_FULL_SC_NULL.new.dat.br", "oem/OEM_PD2145B_CN-ZH_FULL_SC_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_FULL_SC_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_FULL_SC_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL.transfer.list"), "oem/OEM_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL.new.dat.br", "oem/OEM_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_FULL_UNICOM_RWA_NULL.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145C_CN-ZH_CMCC_RWC_CN-YD-C" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C")));
# Patch partition oem
ui_print("Patching OEM_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C.transfer.list"), "oem/OEM_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C.new.dat.br", "oem/OEM_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145C_CN-ZH_CMCC_RWC_CN-YD-C.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vivo.oem.name") == "PD2145B_CN-ZH_FULL_SC_CN-YD-A" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("oem/dynamic_partitions_op_list_PD2145B_CN-ZH_FULL_SC_CN-YD-A")));
# Patch partition oem
ui_print("Patching OEM_PD2145B_CN-ZH_FULL_SC_CN-YD-A image unconditionally...");
block_image_update(map_partition("oem"), package_extract_file("oem/OEM_PD2145B_CN-ZH_FULL_SC_CN-YD-A.transfer.list"), "oem/OEM_PD2145B_CN-ZH_FULL_SC_CN-YD-A.new.dat.br", "oem/OEM_PD2145B_CN-ZH_FULL_SC_CN-YD-A.patch.dat") ||
abort("E2001: Failed to update oem/OEM_PD2145B_CN-ZH_FULL_SC_CN-YD-A image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_oem_PD2145B_CN-ZH_FULL_SC_CN-YD-A.img", "/dev/block/bootdevice/by-name/vbmeta_oem"));
endif;
if getprop("ro.vgc.device.name") == "NULL_PD2145MA" || getprop("ro.vgc.device.name") == "" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("vgc/dynamic_partitions_op_list_NULL_PD2145MA")));
# Patch partition vgc
ui_print("Patching VGC_NULL_PD2145MA image unconditionally...");
block_image_update(map_partition("vgc"), package_extract_file("vgc/VGC_NULL_PD2145MA.transfer.list"), "vgc/VGC_NULL_PD2145MA.new.dat.br", "vgc/VGC_NULL_PD2145MA.patch.dat") ||
abort("E2001: Failed to update vgc/VGC_NULL_PD2145MA image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_vgc_NULL_PD2145MA.img", "/dev/block/bootdevice/by-name/vbmeta_vgc"));
endif;
if getprop("ro.vgc.device.name") == "SYS_VIVOTEST3_PD2145MA" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("vgc/dynamic_partitions_op_list_SYS_VIVOTEST3_PD2145MA")));
# Patch partition vgc
ui_print("Patching VGC_SYS_VIVOTEST3_PD2145MA image unconditionally...");
block_image_update(map_partition("vgc"), package_extract_file("vgc/VGC_SYS_VIVOTEST3_PD2145MA.transfer.list"), "vgc/VGC_SYS_VIVOTEST3_PD2145MA.new.dat.br", "vgc/VGC_SYS_VIVOTEST3_PD2145MA.patch.dat") ||
abort("E2001: Failed to update vgc/VGC_SYS_VIVOTEST3_PD2145MA image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_vgc_SYS_VIVOTEST3_PD2145MA.img", "/dev/block/bootdevice/by-name/vbmeta_vgc"));
endif;
if getprop("ro.vgc.device.name") == "SYS_VIVOTEST_PD2145MA" then
# --- Start patching dynamic partitions ---
# Update dynamic partition metadata
assert(update_dynamic_partitions(package_extract_file("vgc/dynamic_partitions_op_list_SYS_VIVOTEST_PD2145MA")));
# Patch partition vgc
ui_print("Patching VGC_SYS_VIVOTEST_PD2145MA image unconditionally...");
block_image_update(map_partition("vgc"), package_extract_file("vgc/VGC_SYS_VIVOTEST_PD2145MA.transfer.list"), "vgc/VGC_SYS_VIVOTEST_PD2145MA.new.dat.br", "vgc/VGC_SYS_VIVOTEST_PD2145MA.patch.dat") ||
abort("E2001: Failed to update vgc/VGC_SYS_VIVOTEST_PD2145MA image.");
# --- End patching dynamic partitions ---
assert(package_extract_file("firmware-update/vbmeta_vgc_SYS_VIVOTEST_PD2145MA.img", "/dev/block/bootdevice/by-name/vbmeta_vgc"));
endif;
ui_print("travel Update operation end");
ui_print("travel Other operation begin");
if delete_oem_zip("enable") then
ui_print("copy oem_xxx_xxx.zip to data");
package_extract_dir("oem_zip", "/data/media/0");
endif;
if getprop("ro.vivo.dyn.name") == "NULL" then
run_program("/system/bin/sh", "-c", "dd of=/data/vivo-common/dyn/system_dyn.img skip=0 count=0");
ui_print("Patching DYN_PD2145_NULL image unconditionally...");
block_image_update("/data/vivo-common/dyn/system_dyn.img", package_extract_file("dyn/DYN_PD2145_NULL.transfer.list"), "dyn/DYN_PD2145_NULL.new.dat.br", "dyn/DYN_PD2145_NULL.patch.dat") ||
abort("E2001: Failed to update dyn/DYN_PD2145_NULL image.");
endif;
if getprop("ro.vivo.dyn.name") == "DYNN" then
run_program("/system/bin/sh", "-c", "dd of=/data/vivo-common/dyn/system_dyn.img skip=0 count=0");
ui_print("Patching DYN_PD2145_DYNN image unconditionally...");
block_image_update("/data/vivo-common/dyn/system_dyn.img", package_extract_file("dyn/DYN_PD2145_DYNN.transfer.list"), "dyn/DYN_PD2145_DYNN.new.dat.br", "dyn/DYN_PD2145_DYNN.patch.dat") ||
abort("E2001: Failed to update dyn/DYN_PD2145_DYNN image.");
endif;
ui_print("travel Other operation end");
set_progress(1.000000);
As decribed here - LINK - BL unlock is possible via hardware"brick" ...
With BL Unlocked, you should be able to flash any rom with
Code:
fastboot --force
fastboot --disable-verity
fastboot --disable-verification
Be aware thats probably unsafe so...
Maybe there is a "Softwarekey", we can press.. Just a thought...
That is the fstab from CN Rom
Maybe i will add some later....

If it is possible to get into fastboot without shorting pins it should (in theory) be possible to unlock the bootloader with the Miracle Box Tool. This one guy here successfully unlocked the BL with that Tool but shorted pins to get there.
It is possible to find a cr*cked Loder Miracle 2.93 on the web if anyone wants to try. Tool usually needs a authenticator box and everything about it is kinda sketchy.

-deleted-

So there is no way to unlock bootloader at the moment , do you know how to disable or uninstall some bloatware apps on Ocean-os (jovy, vivo wallet, imanager...) I tried ADB command and ADBremove app but nothing work

nope, sorry can't help there, since i don't get those deleted either.

Ive found a way to DOWNGRADE to Origin OS 1.0. Maybe it is possible to swap the updater-script of the downgrade rom with any other rom so we can install what we want?
Thread: https://bbs.vivo.com.cn/newbbs/thread/32215628
Tool: https://zs.vivo.com/upload/aftool/downgrader-setup.exe
Edit: I've tried absolutely everything in Miracle Box to Unlock the BL to no avail. Booting into EDL mode seems to be mandatory. Which is only possible by bridging the pins (or maybe using a deep flash cable).
Edit2: Deep Flash Cable does NOT work to get into EDL. Only option is bridging pins then.
Edit3: Unlock might be possible via this method. Cant get vivo fastboot v2 to see my phone though:
Unlocking bootloader/ rebooting in edl without testpoint Vivo Y31 2021
Unlocked models with this method: Vivo Y31 PD2050F 2021 A12 6.7.20 Vivo V21e PD2107F A12 6.6.19 I did it from rooted Samsung J120F, I didn't try from PC///bc no PC =( My guide in Russian {Mod edit: Link removed} Custom fastboot for vivo in...
forum.xda-developers.com

Related

[Q] What the hell is going on? (SOLVED)

I'm trying to load a new CM ROM but I keep getting an abortion message. Here's the log. Can anyone tell me what I'm doing wrong? I'm using rom manager with clockwork.
Starting recovery on Thu May 31 12:03:15 2012
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (480 x 800)
ClockworkMod Recovery v5.0.2.0
recovery filesystem table
=========================
0 /tmp ramdisk (null) (null)
1 /boot mtd boot (null)
2 /cache yaffs2 cache (null)
3 /data yaffs2 userdata (null)
4 /misc mtd misc (null)
5 /recovery mtd recovery (null)
6 /sdcard vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0
7 /system yaffs2 system (null)
8 /sd-ext ext4 /dev/block/mmcblk0p2 (null)
I:Completed outputting fstab.
Irocessing arguments.
Fixing execute permissions for /cache
mtd: successfully wrote block at 0
I:Set boot command "boot-recovery"
I:Checking arguments.
I:device_recovery_start()
Command: "/sbin/recovery"
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
ro.build.id=GRJ22
ro.build.display.id=GRJ90
ro.build.version.incremental=eng.koush.20110905.103150
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.5
ro.build.date=Mon Sep 5 10:32:20 PDT 2011
ro.build.date.utc=0
ro.build.type=eng
ro.build.user=koush
ro.build.host=Koushik-Lion.local
ro.build.tags=test-keys
ro.product.model=Nexus One
ro.product.brand=google
ro.product.name=passion
ro.product.device=passion
ro.product.board=mahimahi
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=HTC
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=qsd8k
ro.build.product=passion
ro.build.description=passion-user 2.3.4 GRJ22 121341 release-keys
ro.build.fingerprint=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys
keyguard.no_require_sim=true
ro.sf.lcd_density=240
rild.libpath=/system/lib/libhtc_ril.so
wifi.interface=eth0
wifi.supplicant_scan_interval=15
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.telephony.default_network=0
ro.opengles.version=131072
dalvik.vm.heapsize=32m
media.a1026.nsForVoiceRec=0
media.a1026.enableA1026=1
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.config.ringtone=Playa.ogg
ro.config.notification_sound=regulus.ogg
ro.config.alarm_alert=Alarm_Beep_03.ogg
ro.ril.enable.managed.roaming=1
ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995
ro.ril.emc.mode=2
ro.modversion=CyanogenMod-7.1.0-RC1-N1-KANG
ro.kernel.android.checkjni=1
ro.setupwizard.mode=OPTIONAL
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=HT0CJP801701
ro.bootmode=recovery
ro.baseband=5.08.00.04
ro.carrier=GOOGLE
ro.bootloader=0.35.0017
ro.hardware=mahimahi
ro.revision=132
init.svc.recovery=running
init.svc.adbd=running
I:Checking for extendedcommand...
I:Running extendedcommand...
Waiting for SD Card to mount (20s)
SD Card mounted...
Verifying SD Card marker...
f532ff99d0b616d54bd1fec6e4b345de
f532ff99d0b616d54bd1fec6e4b345de
I:Running script:
I:
ui_print("ROM Manager Version 5.0.0.7");
ui_print("May 31, 2012");
ui_print("Preparing to install ROM...");
run_program("/cache/dowipedalvikcache.sh");
format("/cache");
format("/data");
format("/sd-ext");
assert(install_zip("/sdcard/update-cm-7.2.0-RC3-p500-signed.zip"));
parse returned 0; 0 errors encountered
ROM Manager Version 5.0.0.7
May 31, 2012
Preparing to install ROM...
about to run program [/cache/dowipedalvikcache.sh] with 1 args
mount: mounting /dev/block/mtdblock4 on /cache failed: Device or resource busy
mount: mounting /dev/block/mmcblk0p2 on /sd-ext failed: No such file or directory
umount: can't umount /sd-ext: Invalid argument
run_program: child exited with status 1
Formatting /cache...
mtd: not erasing bad block at 0x01360000
mtd: not erasing bad block at 0x020e0000
mtd: not erasing bad block at 0x03600000
Formatting /data...
mtd: not erasing bad block at 0x00b00000
mtd: not erasing bad block at 0x02220000
mtd: not erasing bad block at 0x067e0000
mtd: not erasing bad block at 0x0af80000
mtd: not erasing bad block at 0x0b7e0000
Formatting /sd-ext...
Need size of filesystem
E:format_volume: make_extf4fs failed on /dev/block/mmcblk0p2
-- Installing: /sdcard/update-cm-7.2.0-RC3-p500-signed.zip
mtd: successfully wrote block at 0
I:Set boot command "boot-recovery"
Finding update package...
I:Update location: /sdcard/update-cm-7.2.0-RC3-p500-signed.zip
Opening update package...
Installing update...
script aborted: assert failed: getprop("ro.product.device") == "thunderg" || getprop("ro.build.product") == "thunderg" || getprop("ro.product.board") == "thunderg" ||
getprop("ro.product.device") == "p500" || getprop("ro.build.product") == "p500" || getprop("ro.product.board") == "p500"
assert failed: getprop("ro.product.device") == "thunderg" || getprop("ro.build.product") == "thunderg" || getprop("ro.product.board") == "thunderg" || getprop("ro.product.device") == "p500" || getprop("ro.build.product") == "p500" || getprop("ro.product.board") == "p500"
E:Error in /sdcard/update-cm-7.2.0-RC3-p500-signed.zip
(Status 7)
Installation aborted.
result was NULL, message is: assert failed: install_zip("/sdcard/update-cm-7.2.0-RC3-p500-signed.zip")
You're trying to install CM for Optimus One, not for Nexus One. No wonder it fails while checking the type of device.
That's the one I got right from CyanogenMod for my particular phone.
dieselfiend said:
That's the one I got right from CyanogenMod for my particular phone.
Click to expand...
Click to collapse
sometime it does that your best bet is use aroma 1st if that fails then use 4ext recovery
Hmm, what are you doing in Nexus One forums, asking questions about Optimus One?
In any case, your recovery (whatever it is) doesn't like the variables in your build.prop, of your current ROM. To force it to install, you can change updater-script to disable the assertion that fails, or change the build.prop for the assertion to pass.
Jack_R1 said:
Hmm, what are you doing in Nexus One forums, asking questions about Optimus One?
In any case, your recovery (whatever it is) doesn't like the variables in your build.prop, of your current ROM. To force it to install, you can change updater-script to disable the assertion that fails, or change the build.prop for the assertion to pass.
Click to expand...
Click to collapse
hahaha what he said
Man, I admire your knowledge level on this. Can you put in dummy terms?
Sent from my GT-I9100 using Tapatalk 2
I'll try to explain:
There is a file in your current ROM, as in any Android ROM. It's called build.prop, and it sits under /system, as in: /system/build.prop.
This file holds many variables' values, useful for Android boot-up and operation.
3 values interest you:
ro.product.device
ro.build.product
ro.product.board
"Assertion" = some part of the update script of the ROM that runs when you're trying to flash it. This part is checking the variables above, looking for specific values.
If assertion doesn't find the values it's looking for - it errors out and stops the update.
So, 2 ways to deal with it:
1) Change the file /system/build.prop, edit the values of those variables to something that won't trigger assertion failure.
2) Remove the assertion from the update script that is in your ROM.
Given that you have root, the first way should be easier. Just edit the values of those variables, find them in the file, add if some are missing (unlikely), and set all of them to "p500".
I got it to work. I was actually trying to install a ROM for another phone. I didn't realize that I clicked a link that was for a bunch of different phones rather than just mine. I downloaded the right ROM for my phone and all is well. It installed perfectly. Thanks for all the help!

[Q] HTC ONE Bricked S off

ok I am new here and I have messed up my phone. I can get to bootloader but i'm lost after that. the PC doesn't see the SD card the phone has TWRP but there isn't anything in it to recover to
what should I do. I see a lot about cmd prompt but I know nothing about getting to the phone that way.
Jamesdbritt said:
ok I am new here and I have messed up my phone. I can get to bootloader but i'm lost after that. the PC doesn't see the SD card the phone has TWRP but there isn't anything in it to recover to
what should I do. I see a lot about cmd prompt but I know nothing about getting to the phone that way.
Click to expand...
Click to collapse
if you can get to bootloader you're not bricked.
don't fiddle with your phone - just leave it like it is.
someone here who knows way more about this stuff than I do will be able to tell you what you need to do.
Jamesdbritt said:
ok I am new here and I have messed up my phone. I can get to bootloader but i'm lost after that. the PC doesn't see the SD card the phone has TWRP but there isn't anything in it to recover to
what should I do. I see a lot about cmd prompt but I know nothing about getting to the phone that way.
Click to expand...
Click to collapse
get into fastboot mode and type "fastboot getvar all" in Command Prompt without the inverted commas. Post the output AND REMOVE IMEI AND SERIAL NO.
This is necessary to obtain a little more info abt the phone's current condition
raghav kapur said:
get into fastboot mode and type "fastboot getvar all" in Command Prompt without the inverted commas. Post the output AND REMOVE IMEI AND SERIAL NO.
This is necessary to obtain a little more info abt the phone's current condition
Click to expand...
Click to collapse
How do I get into Carrboro from command?
Go step by step like talking to a four year old..Lol I'm 28
Jamesdbritt said:
How do I get into Carrboro from command?
Go step by step like talking to a four year old..Lol I'm 28
Click to expand...
Click to collapse
Download and install latest android sdk http://developer.android.com/sdk/index.html
download in install latest htc sync (for drivers installation) then uninstall it, the drivers still be installed. http://www.htc.com/www/software/htc-sync-manager/
go to the folder you installed the android sdk then ---> sdk/platform-tools. Adb.exe and fastboot.exe should be in this folder. Always work in this folder (where adb and fastboot.exe are).
boot your phone in bootloader mode, select fastboot and connect usb cable to computer
Right click on a blank space in the folder where fastboot/adb are then select ''open a cmd prompt here''
in the command prompt type
Code:
fastboot getvar all
and copy paste output here MINUS IMEI AND SN
and please tell us what operating system are you using on your ocmputer? windows 7, 8.0 or 8.1?
How do I get into fastboot mode?
Jamesdbritt said:
How do I get into Carrboro from command?
Go step by step like talking to a four year old..Lol I'm 28
Click to expand...
Click to collapse
and how did you messed your phone?
---------- Post added at 03:26 PM ---------- Previous post was at 03:25 PM ----------
Jamesdbritt said:
How do I get into fastboot mode?
Click to expand...
Click to collapse
when you are in bootloarder mode, select ''fastboot''. use vol up and down to navigate then power button to select.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
When in fastboot mode you'll have a screen similar to this with fastboot highlighted in red:
When I right click there is no cmd option
Jamesdbritt said:
When I right click there is no cmd option
Click to expand...
Click to collapse
sry my bad
hold left SHIFT + right click
Ok found cmd typed above and it came with a list of commands
Update
Flashall
Etc..
Jamesdbritt said:
Ok found cmd typed above and it came with a list of commands
Update
Flashall
Etc..
Click to expand...
Click to collapse
please can you make a screenshot of your cmd prompt and post it here? I want to see the command you typed and the ouput
commands:
update <filename> reflash device from
flashall flash boot + recove
flash <partition> [ <filename> ] write a file to a f
erase <partition> erase a flash parti
format <partition> format a flash part
getvar <variable> display a bootloade
boot <kernel> [ <ramdisk> ] download and boot k
flash:raw boot <kernel> [ <ramdisk> ] create bootimage an
devices list all connected
continue continue with autob
reboot reboot device norma
reboot-bootloader reboot device into
help show this help mess
options:
-w erase userdata and
if supported by par
-u do not first erase
formatting
-s <specific device> specify device seri
or path to device p
-l with "devices", lis
-p <product> specify product nam
-c <cmdline> override kernel com
-i <vendor id> specify a custom US
-b <base_addr> specify a custom ke
default: 0x10000000
-n <page size> specify the nand pa
2048
-S <size>[K|M|G] automatically spars
an
size. 0 to disable
Jamesdbritt said:
commands:
update <filename> reflash device from
flashall flash boot + recove
flash <partition> [ <filename> ] write a file to a f
erase <partition> erase a flash parti
format <partition> format a flash part
getvar <variable> display a bootloade
boot <kernel> [ <ramdisk> ] download and boot k
flash:raw boot <kernel> [ <ramdisk> ] create bootimage an
devices list all connected
continue continue with autob
reboot reboot device norma
reboot-bootloader reboot device into
help show this help mess
options:
-w erase userdata and
if supported by par
-u do not first erase
formatting
-s <specific device> specify device seri
or path to device p
-l with "devices", lis
-p <product> specify product nam
-c <cmdline> override kernel com
-i <vendor id> specify a custom US
-b <base_addr> specify a custom ke
default: 0x10000000
-n <page size> specify the nand pa
2048
-S <size>[K|M|G] automatically spars
an
size. 0 to disable
Click to expand...
Click to collapse
type this command:
Code:
fastboot devices
what is the output?
C:\Users\James\SDK\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>FASTBO
T GETVAR ALL
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
format <partition> format a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache (and format
if supported by partition type)
-u do not first erase partition before
formatting
-s <specific device> specify device serial number
or path to device port
-l with "devices", lists device paths
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
default: 0x10000000
-n <page size> specify the nand page size. default:
2048
-S <size>[K|M|G] automatically sparse files greater t
an
size. 0 to disable
C:\Users\James\SDK\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>
Jamesdbritt said:
C:\Users\James\SDK\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>FASTBO
T GETVAR ALL -------> 1 ''o'' is missing from fastboot
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
format <partition> format a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache (and format
if supported by partition type)
-u do not first erase partition before
formatting
-s <specific device> specify device serial number
or path to device port
-l with "devices", lists device paths
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
default: 0x10000000
-n <page size> specify the nand page size. default:
2048
-S <size>[K|M|G] automatically sparse files greater t
an
size. 0 to disable
C:\Users\James\SDK\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>
Click to expand...
Click to collapse
fastboot is case sensitive don't use capitals letter unless specified
type
''fastboot getvar all'' NOT ''FASTBOT GETVAR ALL''
and there is a letter missing at fastboot
C:\SDK\ADT\sdk\platform-tools>fastboot devices
FA39DS900733 fastboot
C:\SDK\ADT\sdk\platform-tools>
Jamesdbritt said:
C:\SDK\ADT\sdk\platform-tools>fastboot devices
FA39DS900733 fastboot
C:\SDK\ADT\sdk\platform-tools>
Click to expand...
Click to collapse
ok so now type ''fastboot getvar all'' DON'T USE CAPITALS!
C:\SDK\ADT\sdk\platform-tools>fastboot getvar all
(bootloader) version: 0.5
(bootloader) version-bootloader: 1.55.0000
(bootloader) version-baseband: 1.12.41.1112_2
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main: 2.10.605.1
(bootloader) version-misc: PVT SHIP S-OFF
(bootloader) serialno: FA39DS900733
(bootloader) imei: xxxxxx
(bootloader) meid: xxxxxx
(bootloader) product: m7_wlv
(bootloader) platform: HBOOT-8064
(bootloader) modelid: PN0731000
(bootloader) cidnum: VZW__001
(bootloader) battery-status: good
(bootloader) battery-voltage: 3769mV
(bootloader) partition-layout: Generic
(bootloader) security: off
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT
(bootloader) commitno-bootloader: dirty-3c88cdd7
(bootloader) hbootpreupdate: 11
(bootloader) gencheckpt: 0
all: Done!
finished. total time: 0.063s
C:\SDK\ADT\sdk\platform-tools>
Jamesdbritt said:
C:\SDK\ADT\sdk\platform-tools>fastboot getvar all
(bootloader) version: 0.5
(bootloader) version-bootloader: 1.55.0000
(bootloader) version-baseband: 1.12.41.1112_2
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main: 2.10.605.1
(bootloader) version-misc: PVT SHIP S-OFF
(bootloader) serialno:
(bootloader) imei: xxxxxx
(bootloader) meid: xxxxxx
(bootloader) product: m7_wlv
(bootloader) platform: HBOOT-8064
(bootloader) modelid: PN0731000
(bootloader) cidnum: VZW__001
(bootloader) battery-status: good
(bootloader) battery-voltage: 3769mV
(bootloader) partition-layout: Generic
(bootloader) security: off
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT
(bootloader) commitno-bootloader: dirty-3c88cdd7
(bootloader) hbootpreupdate: 11
(bootloader) gencheckpt: 0
all: Done!
finished. total time: 0.063s
C:\SDK\ADT\sdk\platform-tools>
Click to expand...
Click to collapse
ok so you want to go back to stock rom or you want to install a custom rom?
alray said:
ok so you want to go back to stock rom or you want to install a custom rom?
Click to expand...
Click to collapse
stock right now I know SuperSU is not installed if that means anything
I was having data connection problems before all this started

OOS Beta 8 Nougat; what is the firmware file lksecapp.mbn

In the new OOS beta 8 Nougat thay added a new firmware file lksecapp.mbn its flashed to /dev/block/bootdevice/by-name/lksecapp
but when I look there on my current MM OOS the device is not there, so where are they flashing this file to and what is it?
DavidXanatos said:
In the new OOS beta 8 Nougat thay added a new firmware file lksecapp.mbn its flashed to /dev/block/bootdevice/by-name/lksecapp
but when I look there on my current MM OOS the device is not there, so where are they flashing this file to and what is it?
Click to expand...
Click to collapse
The bootloader Qualcomm uses is Little kernel "lk"
I hypothesize it means "little kernel secure applications"
I can someone with the know how can verify this?
Guys!
There is a lksecapp.mbn of the right size in the MEGA unbrick tool, but in ****rary to most of the other files there there is no xml saying where to flash it to.
I have now the new beta 8 on my OP3 but i still dont see /dev/block/bootdevice/by-name/lksecapp
how the hack can this be updated when its not a device where its expected to be?
DavidXanatos said:
Guys!
There is a lksecapp.mbn of the right size in the MEGA unbrick tool, but in ****rary to most of the other files there there is no xml saying where to flash it to.
I have now the new beta 8 on my OP3 but i still dont see /dev/block/bootdevice/by-name/lksecapp
how the hack can this be updated when its not a device where its expected to be?
Click to expand...
Click to collapse
read the first 10 lines of updater script . they have changed the way its is checked against the partition SDA sizes , so it is updated without lksecapp .. thats how it works
Code:
getprop("ro.display.series") == "OnePlus 3" || abort("E3004: This package is for \"OnePlus 3\" devices; this is a \"" + getprop("ro.display.series") + "\".");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.050000, 10);
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
ui_print("Writing static_nvbk image...");
package_extract_file("RADIO/static_nvbk.bin", "/dev/block/bootdevice/by-name/oem_stanvbk");
# ---- radio update tasks ----
ui_print("Patching firmware images...");
ifelse(msm.boot_update("main"), (
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hyp");
package_extract_file("firmware-update/pmic.elf", "/dev/block/bootdevice/by-name/pmic");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
package_extract_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/aboot");
package_extract_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecapp");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
package_extract_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymaster");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl");
package_extract_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpm");
), "");
ifelse(msm.boot_update("backup"), (
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hypbak");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
package_extract_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/abootbak");
package_extract_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecappbak");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
package_extract_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xblbak");
package_extract_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpmbak");
), "");
msm.boot_update("finalize");
package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
package_extract_file("firmware-update/adspso.bin", "/dev/block/bootdevice/by-name/dsp");
package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth");
set_progress(1.000000);
i don't see what you meen?
DavidXanatos said:
Code:
getprop("ro.display.series") == "OnePlus 3" || abort("E3004: This package is for \"OnePlus 3\" devices; this is a \"" + getprop("ro.display.series") + "\".");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.050000, 10);
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
ui_print("Writing static_nvbk image...");
package_extract_file("RADIO/static_nvbk.bin", "/dev/block/bootdevice/by-name/oem_stanvbk");
# ---- radio update tasks ----
ui_print("Patching firmware images...");
ifelse(msm.boot_update("main"), (
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hyp");
package_extract_file("firmware-update/pmic.elf", "/dev/block/bootdevice/by-name/pmic");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
package_extract_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/aboot");
package_extract_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecapp");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
package_extract_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymaster");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl");
package_extract_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpm");
), "");
ifelse(msm.boot_update("backup"), (
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hypbak");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
package_extract_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/abootbak");
package_extract_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecappbak");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
package_extract_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xblbak");
package_extract_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpmbak");
), "");
msm.boot_update("finalize");
package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
package_extract_file("firmware-update/adspso.bin", "/dev/block/bootdevice/by-name/dsp");
package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth");
set_progress(1.000000);
i don't see what you meen?
Click to expand...
Click to collapse
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") || abort("E1001: Failed to update system image.");
They no longer match the values
ahmediftikhar said:
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") || abort("E1001: Failed to update system image.");
They no longer match the values
Click to expand...
Click to collapse
But thats only for the system partition.
this change does not explain how lksecapp.mbn can be flashed to a non listed block device

BLU R1 HD Boot Loop after OTA

Hello,
I have an Amazon BLU R1 HD which I flashed with a standard OEM ROM based on the instructions in this forum, its been working great for months until I stupidly accepted an OTA (this one)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Since the update the device is stuck in a boot loop. I no longer have adb access to it (adb devices shows nothing) and I've tried to unlock the bootloader using SP Flash Tool and method 2 from here https://forum.xda-developers.com/r1-hd/development/r1-hd-amazon-bootloader-unlock-method-t3426104 but I just get a s_brom_download_da_fail error. I've tried on Windows and Linux, same results.
Can anything be done? Does anyone have any thoughts on this?
Thanks!
g00s3m4n said:
Hello,
I have an Amazon BLU R1 HD which I flashed with a standard OEM ROM based on the instructions in this forum, its been working great for months until I stupidly accepted an OTA (this one)
Since the update the device is stuck in a boot loop. I no longer have adb access to it (adb devices shows nothing) and I've tried to unlock the bootloader using SP Flash Tool and method 2 from here https://forum.xda-developers.com/r1-hd/development/r1-hd-amazon-bootloader-unlock-method-t3426104 but I just get a s_brom_download_da_fail error. I've tried on Windows and Linux, same results.
Can anything be done? Does anyone have any thoughts on this?
Thanks!
Click to expand...
Click to collapse
Since you had converted to OEM version. You most likely already had unlocked bootloader. Also when you take an ota with unlocked bootloader you end up with half re-locked bootloader and a boot loop.
We have already seen this in the forum , and have an easy solution.
But to verify the situation before making changes do this:
Hold volume up while phone is boot looping. it should eventually go to the boot menu. Select fastboot. Connect to your pc.
Open cmd window. type this "fastboot devices" you should get almost instant response. " *your serial number* fastboot"
now that you verified you have the connection type this "fastboot getvar all" the response is a list of partitions then near the end there is the bootloader status
"unlocked = yes"
and
"secure = yes"
if this is true then my assumption is correct. It should be "secure = no" for an unlocked phone.
Now type "fastboot oem unlock" followed by volume up button on phone.
follow that with "fastboot format userdata"
obviously this will factory reset your phone.
mrmazak said:
Since you had converted to OEM version. You most likely already had unlocked bootloader. Also when you take an ota with unlocked bootloader you end up with half re-locked bootloader and a boot loop.
We have already seen this in the forum , and have an easy solution.
But to verify the situation before making changes do this:
Hold volume up while phone is boot looping. it should eventually go to the boot menu. Select fastboot. Connect to your pc.
Open cmd window. type this "fastboot devices" you should get almost instant response. " *your serial number* fastboot"
now that you verified you have the connection type this "fastboot getvar all" the response is a list of partitions then near the end there is the bootloader status
"unlocked = yes"
and
"secure = yes"
if this is true then my assumption is correct. It should be "secure = no" for an unlocked phone.
Now type "fastboot oem unlock" followed by volume up button on phone.
follow that with "fastboot format userdata"
obviously this will factory reset your phone.
Click to expand...
Click to collapse
Thank you, your assumption was correct and that has fixed the problem. Obviously my search foo failed me.
I appreciate the quick reply and assistance.
mrmazak said:
Since you had converted to OEM version. You most likely already had unlocked bootloader. Also when you take an ota with unlocked bootloader you end up with half re-locked bootloader and a boot loop.
We have already seen this in the forum , and have an easy solution.
But to verify the situation before making changes do this:
Hold volume up while phone is boot looping. it should eventually go to the boot menu. Select fastboot. Connect to your pc.
Open cmd window. type this "fastboot devices" you should get almost instant response. " *your serial number* fastboot"
now that you verified you have the connection type this "fastboot getvar all" the response is a list of partitions then near the end there is the bootloader status
"unlocked = yes"
and
"secure = yes"
if this is true then my assumption is correct. It should be "secure = no" for an unlocked phone.
Now type "fastboot oem unlock" followed by volume up button on phone.
follow that with "fastboot format userdata"
obviously this will factory reset your phone.
Click to expand...
Click to collapse
confirmed working. one more phone has been saved. Thanks!
OEM version - boot loop
My BLU R1 HD from Amazon, is stuck at reboot. I have not made any changes to the ROM except OTA updates.
I have provided the fastboot getvar all - details below.
Kindly guide me how to unbrick the phone. I am not looking to root the phone. Thanks in advance.
The values are different from what you had mentioned above
(bootloader) unlocked: no
(bootloader) secure: yes
C:\>fastboot devices
4SPFSKDUOVQWMBFE fastboot
C:\>fastboot getvar all
(bootloader) max-download-size: 0x8000000
(bootloader) partition-size:flashinfo: 1000000
(bootloader) partition-type:flashinfo: raw data
(bootloader) partition-size:userdata: 32000000
(bootloader) partition-type:userdata: ext4
(bootloader) partition-size:cache: 19000000
(bootloader) partition-type:cache: ext4
(bootloader) partition-size:system: a7000000
(bootloader) partition-type:system: ext4
(bootloader) partition-size:metadata: 2500000
(bootloader) partition-type:metadata: raw data
(bootloader) partition-size:nvdata: 2000000
(bootloader) partition-type:nvdata: ext4
(bootloader) partition-size:frp: 100000
(bootloader) partition-type:frp: raw data
(bootloader) partition-size:tee2: 500000
(bootloader) partition-type:tee2: raw data
(bootloader) partition-size:tee1: 500000
(bootloader) partition-type:tee1: raw data
(bootloader) partition-size:keystore: 800000
(bootloader) partition-type:keystore: raw data
(bootloader) partition-size:secro: 600000
(bootloader) partition-type:secro: raw data
(bootloader) partition-sizeemkeystore: 200000
(bootloader) partition-typeemkeystore: raw data
(bootloader) partition-size:seccfg: 80000
(bootloader) partition-type:seccfg: raw data
(bootloader) partition-size:expdb: a00000
(bootloader) partition-type:expdb: raw data
(bootloader) partition-size:logo: 800000
(bootloader) partition-type:logo: raw data
(bootloader) partition-size:recovery: 1000000
(bootloader) partition-type:recovery: raw data
(bootloader) partition-size:boot: 1000000
(bootloader) partition-type:boot: raw data
(bootloader) partition-sizeara: 80000
(bootloader) partition-typeara: raw data
(bootloader) partition-size:lk: 80000
(bootloader) partition-type:lk: raw data
(bootloader) partition-sizerotect2: a00000
(bootloader) partition-typerotect2: ext4
(bootloader) partition-sizerotect1: a00000
(bootloader) partition-typerotect1: ext4
(bootloader) partition-size:nvram: 500000
(bootloader) partition-type:nvram: raw data
(bootloader) partition-sizeroinfo: 300000
(bootloader) partition-typeroinfo: raw data
(bootloader) partition-sizereloader: 40000
(bootloader) partition-typereloader: raw data
(bootloader) off-mode-charge: 1
(bootloader) warranty: yes
(bootloader) unlocked: no
(bootloader) secure: yes
(bootloader) kernel: lk
(bootloader) product: P6601
(bootloader) version-preloader: 0.1.00
(bootloader) version: 0.5
all: Done!!
I ran the unlock bootloader and it fails as well
C:\>fastboot oem unlock
...
(bootloader) Start unlock flow
FAILED (remote:
Unlock operation is not allowed
)
finished. total time: 90.128s
praxtwin said:
My BLU R1 HD from Amazon, is stuck at reboot. I have not made any changes to the ROM except OTA updates.
I have provided the fastboot getvar all - details below.
Kindly guide me how to unbrick the phone. I am not looking to root the phone. Thanks in advance.
The values are different from what you had mentioned above
(bootloader) unlocked: no
(bootloader) secure: yes
C:\>fastboot devices
4SPFSKDUOVQWMBFE fastboot
C:\>fastboot getvar all
(bootloader) max-download-size: 0x8000000
(bootloader) partition-size:flashinfo: 1000000
(bootloader) partition-type:flashinfo: raw data
(bootloader) partition-size:userdata: 32000000
(bootloader) partition-type:userdata: ext4
(bootloader) partition-size:cache: 19000000
(bootloader) partition-type:cache: ext4
(bootloader) partition-size:system: a7000000
(bootloader) partition-type:system: ext4
(bootloader) partition-size:metadata: 2500000
(bootloader) partition-type:metadata: raw data
(bootloader) partition-size:nvdata: 2000000
(bootloader) partition-type:nvdata: ext4
(bootloader) partition-size:frp: 100000
(bootloader) partition-type:frp: raw data
(bootloader) partition-size:tee2: 500000
(bootloader) partition-type:tee2: raw data
(bootloader) partition-size:tee1: 500000
(bootloader) partition-type:tee1: raw data
(bootloader) partition-size:keystore: 800000
(bootloader) partition-type:keystore: raw data
(bootloader) partition-size:secro: 600000
(bootloader) partition-type:secro: raw data
(bootloader) partition-sizeemkeystore: 200000
(bootloader) partition-typeemkeystore: raw data
(bootloader) partition-size:seccfg: 80000
(bootloader) partition-type:seccfg: raw data
(bootloader) partition-size:expdb: a00000
(bootloader) partition-type:expdb: raw data
(bootloader) partition-size:logo: 800000
(bootloader) partition-type:logo: raw data
(bootloader) partition-size:recovery: 1000000
(bootloader) partition-type:recovery: raw data
(bootloader) partition-size:boot: 1000000
(bootloader) partition-type:boot: raw data
(bootloader) partition-sizeara: 80000
(bootloader) partition-typeara: raw data
(bootloader) partition-size:lk: 80000
(bootloader) partition-type:lk: raw data
(bootloader) partition-sizerotect2: a00000
(bootloader) partition-typerotect2: ext4
(bootloader) partition-sizerotect1: a00000
(bootloader) partition-typerotect1: ext4
(bootloader) partition-size:nvram: 500000
(bootloader) partition-type:nvram: raw data
(bootloader) partition-sizeroinfo: 300000
(bootloader) partition-typeroinfo: raw data
(bootloader) partition-sizereloader: 40000
(bootloader) partition-typereloader: raw data
(bootloader) off-mode-charge: 1
(bootloader) warranty: yes
(bootloader) unlocked: no
(bootloader) secure: yes
(bootloader) kernel: lk
(bootloader) product: P6601
(bootloader) version-preloader: 0.1.00
(bootloader) version: 0.5
all: Done!!
I ran the unlock bootloader and it fails as well
C:\>fastboot oem unlock
...
(bootloader) Start unlock flow
FAILED (remote:
Unlock operation is not allowed
)
finished. total time: 90.128s
Click to expand...
Click to collapse
Don't have any proven information to give you in your situation. All previous boot loops after taking an OTA have been a result of already having bootloader unlocked.
I would normally suggest trying to do a factory reset in a boot loop situation . So if you can get into recovery mode try to do a reset. If you cannot get into recovery you can try to do a "fastboot format userdata" and / or. "fastboot format cache"
mrmazak said:
Don't have any proven information to give you in your situation. All previous boot loops after taking an OTA have been a result of already having bootloader unlocked.
I would normally suggest trying to do a factory reset in a boot loop situation . So if you can get into recovery mode try to do a reset. If you cannot get into recovery you can try to do a "fastboot format userdata" and / or. "fastboot format cache"
Click to expand...
Click to collapse
Thanks for your suggestion. Unfortunately, Recovery mode doesn't seem to work. I did Factory reset , and then reboot, it stays on white BLU screen.
Additional Info: I did a ROOT INTEGRITY CHECK. It fails stating several files modified. I am not sure if that is an indication of any problems.
So I fastboot'ed again and tried format userdata and cache.
Both result in Failure - Not Allowed.
C:\>fastboot format cache
Creating filesystem with parameters:
Size: 419430400
Block size: 4096
Blocks per group: 32768
Inodes per group: 6400
Inode size: 256
Journal blocks: 1600
Label:
Blocks: 102400
Block groups: 4
Reserved block group size: 31
Created filesystem with 11/25600 inodes and 3310/102400 blocks
target reported max download size of 134217728 bytes
erasing 'cache'...
FAILED (remote: format for partition 'cache' is not allowed
)
finished. total time: 0.005s
Is this because I do not have ROOT access, that I am not able to format?
Do you think there is anything I could do to get the phone working again. Appreciate your help so much.
praxtwin said:
Thanks for your suggestion. Unfortunately, Recovery mode doesn't seem to work. I did Factory reset , and then reboot, it stays on white BLU screen.
Additional Info: I did a ROOT INTEGRITY CHECK. It fails stating several files modified. I am not sure if that is an indication of any problems.
So I fastboot'ed again and tried format userdata and cache.
Both result in Failure - Not Allowed.
C:\>fastboot format cache
Creating filesystem with parameters:
Size: 419430400
Block size: 4096
Blocks per group: 32768
Inodes per group: 6400
Inode size: 256
Journal blocks: 1600
Label:
Blocks: 102400
Block groups: 4
Reserved block group size: 31
Created filesystem with 11/25600 inodes and 3310/102400 blocks
target reported max download size of 134217728 bytes
erasing 'cache'...
FAILED (remote: format for partition 'cache' is not allowed
)
finished. total time: 0.005s
Is this because I do not have ROOT access, that I am not able to format?
Do you think there is anything I could do to get the phone working again. Appreciate your help so much.
Click to expand...
Click to collapse
You are not allowed to format from fastboot because , not bootloader unlocked. So not unlocked, no custom recovery, and integrity check says system files are changed.
It is most likely end of line for that device. Only option I can think of is factory repair. Phone must be less than 1 year old. (released July 2016) They have 12 month warranty I believe.
I have the Amazon R1 HD and I too fell victim to the update install that relocked my phone so its stuck in the reboot format. My problem seems to be when attaching my phone to the computer as instructed previously to another Blu...after typing in "fastboot devices" I receive an error code stating the Android device has no drive. I am almost past exasperated. Help, please!
Please help
I tried the spitting flash tool method to get my phone out of bootloop it won't work because I can't turn it off. It's battery has to die out then when I plug it. It automatically goes to the BLU screen and stays there for a bit then powers off and turns on again. I tried plugging it in to my pc and using fastboot devices but I get this error.
'Fastboot' is not recognized as an internal or external command operable program or batch file
And I can't power it off to begin the flash every time I get a timeout and I have all the mtk drivers install and the MT65xx USB vcom drivers I'm so confused I have a week working on this issue
Ghost0711 said:
I tried the spitting flash tool method to get my phone out of bootloop it won't work because I can't turn it off. It's battery has to die out then when I plug it. It automatically goes to the BLU screen and stays there for a bit then powers off and turns on again. I tried plugging it in to my pc and using fastboot devices but I get this error.
'Fastboot' is not recognized as an internal or external command operable program or batch file
And I can't power it off to begin the flash every time I get a timeout and I have all the mtk drivers install and the MT65xx USB vcom drivers I'm so confused I have a week working on this issue
Click to expand...
Click to collapse
You are throwing a lot of different things together, but sounds like none of the steps are right.
If you have been stuck in a boot loop after an OTA update (like title of thread you are in) , and your phone was bootloader unlocked before taking the OTA update, then the following information should help.
If you are in a boot loop for other reason then this will not help.
While the phone in Turing on / off, hold volume up. Eventually it should come to the boot select screen. Use volume button to scroll to fastboot and power button to select.
Now plug usb into pc and open CMD window. Verify you have the fastboot program on pc, and it sees phone by typing "fastboot devices"
Your statement said you got response that fastboot was not recognized command. I suspect you may not have fastboot on pc, but it no fastboot on pc how did you unlock bootloader?
Moving on., Once you have fastboot recognizing the phone , type "fastboot oem unlock"
Should be message on phone screen asking to confirm by pushing volume up.
Next , if phone has stock recovery you can just reboot and stock recovery will wipe /data and phone should reboot.
If phone has custom recovery (twrp) need to format userdata and cache. Type "fastboot format userdata" then "fastboot format cache"
And again I must state that if phone is boot looping for other reasons then this may not help.

Trouble with flashing.

Hi guys,
I had installed few hours ago the LineageOS, but it really didn't fit to me, so I decided to wipe data, cache etc. and install global stable rom.
First of all when I wanted to make the wipe, I got msg like "unable mount internal storage".
Then I downloaded fastboot version of firmware and was going to flash it via XiaoMiFlash tool. I got this:
[20:36:48 d5fafeb0]:MiFlash 2017.4.25.0
[20:36:48 d5fafeb0]:image path:C:\Users\Dżony\Desktop\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global_f413999234\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global
[20:36:48 d5fafeb0]:env android path:"C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Google\Android"
[20:36:48 d5fafeb0]:script :C:\Users\Dżony\Desktop\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global_f413999234\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global\flash_all.bat
[20:36:48 d5fafeb0]hysical Memory Usage:1777664 Byte
[20:36:48 d5fafeb0]:$fastboot -s d5fafeb0 getvar product 2>&1 | findstr /r /c:"^product: *MSM8996" || echo Missmatching image and device
[20:36:48 d5fafeb0]roduct: MSM8996
[20:36:48 d5fafeb0]:$fastboot -s d5fafeb0 getvar product 2>&1 | findstr /r /c:"^product: *MSM8996" || exit /B 1
[20:36:48 d5fafeb0]roduct: MSM8996
[20:36:48 d5fafeb0]:$fastboot -s d5fafeb0 erase bk12 2>&1
[20:36:48 d5fafeb0]:erasing 'bk12'...
[20:36:48 d5fafeb0]KAY [ 0.021s]
[20:36:48 d5fafeb0]:finished. total time: 0.021s
[20:36:48 d5fafeb0]:$if not 0 == 0 exit /B 1
[20:36:48 d5fafeb0]:$rem fastboot -s d5fafeb0 getvar soc_id 2>&1 | findstr /r /c:"^soc_id: *239" || echo Missmatching image and device in soc_id
[20:36:48 d5fafeb0]:$rem fastboot -s d5fafeb0 getvar soc_id 2>&1 | findstr /r /c:"^soc_id: *239" || exit /B 1
[20:36:48 d5fafeb0]:$fastboot -s d5fafeb0 flash xbl C:\Users\Dzony\Desktop\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global_f413999234\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global\images\xbl.elf ||
[20:36:48 d5fafeb0]:error:error: cannot load 'C:\Users\Dzony\Desktop\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global_f413999234\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global\images\xbl.elf': No such file or directory
[20:36:48 d5fafeb0]:"Flash xbl error"
[20:36:48 d5fafeb0]:error:error: cannot load 'C:\Users\Dzony\Desktop\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global_f413999234\gemini_global_images_V9.2.1.0.NAAMIEK_20180117.0000.00_7.0_global\images\xbl.elf': No such file or directory
[20:36:48 d5fafeb0]rocess exit.
[20:36:49 d5fafeb0]:flashSuccess False
[20:36:49 d5fafeb0]:isFactory False CheckCPUID False
[20:36:49 d5fafeb0]:before:flashSuccess is False set IsUpdate:True set IsDone True
[20:36:49 d5fafeb0]:after:flashSuccess is False set IsUpdate:false set IsDone true
I don't know how to fix that. When I boot my mi5 I get stuck boot screen. Help!

Categories

Resources