Install incremental updates with TWRP - Xiaomi Mi Max 2 Guides, News, & Discussion

Hey guys,
Are you facing errors while installing incremental updates with twrp ? Here is the solution:
1. Download the incremental updates package.
2. Extract the updater-script with any extracting program.
3. Open the updater-script in notepad++ and delete the lines which look like this "getprop("ro.build.fingerprint") == "Xiaomi/oxygen/oxygen:7.1.1/NMF26F/7.12.1:user/release-keys" ||
getprop("ro.build.fingerprint") == "Xiaomi/oxygen/oxygen:7.1.1/NMF26F/7.12.8:user/release-keys" ||
abort("E3001: Package expects build fingerprint of Xiaomi/oxygen/oxygen:7.1.1/NMF26F/7.12.1:user/release-keys or Xiaomi/oxygen/oxygen:7.1.1/NMF26F/7.12.8:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");" .
4. Now save the file and put back in zip file, replace the existing file.
5. Now you can flash the update without any problem.

Related

CM10 ROM flash error (status 7) galaxy tab 10.1!!!!!

Hi guys, so my problem is this. After my tablet went into infinite boot I flashed my galaxy Tab 10.1 GT-P7500 with a restore ROM(ICS 4.0.4)that i had saved, but now when I try to flash CM10 throught CWM 6.0.xx I get a status 7 error.
Any one had the same problem?
Thanx!
I have download CM10 again for my device but I still get a status 7 error, anyone know how to fix this???
Thanx in advance!
drefcom said:
I have download CM10 again for my device but I still get a status 7 error, anyone know how to fix this???
Thanx in advance!
Click to expand...
Click to collapse
Flash the latest recovery from droidbasement, which is in the CM10 folder you've downloaded.
Status 7
Getting status 7 error, I am finding a lot of 'solutions' so far none have worked. Does anyone have a current solution? Using CM 10.1 on Galaxy 10.1 rooted with Clockwork Mod Recovery v4.0.0.4. Not my first ( or second root), but I'm still basically a noob.
!!! Solution for status 7 error in cwm !!!
A final solution for the status 7 problem is described below (this can be a little tricky but won't harm your device ):
1.Extract the ROM in a new folder, but remember the name of the ROM so you can repack it later for flashing...
2.Go to this address: ROM FOLDER ( the folder originally containing META-INF and system folders and boot.img)\META-INF\com\google\android\
3.open the "updater-script" file with notepad++ or another code editor...
4.the model checking assert is perhaps placed in the first line or is spread over the few first lines, and is this:
assert(getprop("ro.product.device") == "p4" || getprop("ro.build.product") == "p4");
this wicked (!) but sometimes useful model checking prevents flashing on some devices, mostly when flashing Cyanogenmod 10.1...
to tell the CWM system to omit that, you can turn it to a comment (!) by placing a "sharp" sign (#) in the beginning of the line, that will make it like this:
#assert(getprop("ro.product.device") == "p4" || getprop("ro.build.product") == "p4");
5. Happy Flashing!
sorry, I forgot: it doesn't matter if you flash a P7510 ROM on P7500, but I haven't tested it reverse (flashing P7500 ROM on P7510)...
Thanks!!!
Many, many thanks, this solution works!!
arashtarafar said:
A final solution for the status 7 problem is described below (this can be a little tricky but won't harm your device ):
1.Extract the ROM in a new folder, but remember the name of the ROM so you can repack it later for flashing...
2.Go to this address: ROM FOLDER ( the folder originally containing META-INF and system folders and boot.img)\META-INF\com\google\android\
3.open the "updater-script" file with notepad++ or another code editor...
4.the model checking assert is perhaps placed in the first line or is spread over the few first lines, and is this:
assert(getprop("ro.product.device") == "p4" || getprop("ro.build.product") == "p4");
this wicked (!) but sometimes useful model checking prevents flashing on some devices, mostly when flashing Cyanogenmod 10.1...
to tell the CWM system to omit that, you can turn it to a comment (!) by placing a "sharp" sign (#) in the beginning of the line, that will make it like this:
#assert(getprop("ro.product.device") == "p4" || getprop("ro.build.product") == "p4");
5. Happy Flashing!
sorry, I forgot: it doesn't matter if you flash a P7510 ROM on P7500, but I haven't tested it reverse (flashing P7500 ROM on P7510)...
Click to expand...
Click to collapse

Modifying OTA updater-script 4.4.3 to update rooted phone

I have a moto X1058 with:
fastboot-ghost_retar-user-4.4.2-KXA20.16-1.26-24-release-keys-cid12-Latam-AR.zip
bootloader unlocked
rooted with supersu
philz_touch_6.41.6-xt1058.zip custom recovery
The update to 4.4.3 came so I dl it, but the update wont work because of my custom rom (I think) so I have to modify the updater-script inside the official OTA Blur_Version.161.44.26.ghost_row.Latam.en.AR.zip if not, I always got the "Status 7" error message.
So first I delete the bold lines:
mount("ext4", "EMMC", "system", "/system");
file_getprop("/system/build.prop", "ro.build.fingerprint") == "motorola/ghost_retar/ghost:4.4.2/KXA20.16-1.26/24:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "motorola/ghost_retar/ghost:4.4.3/KXA21.12-L1.22/58:user/release-keys" ||
abort("Package expects build fingerprint of motorola/ghost_retar/ghost:4.4.2/KXA20.16-1.26/24:user/release-keys or motorola/ghost_retar/ghost:4.4.3/KXA21.12-L1.22/58:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
assert(getprop("ro.product.device") == "ghost" ||
getprop("ro.build.product") == "ghost" ||
getprop("ro.product.device") == "ghost" ||
getprop("ro.build.product") == "ghost");
ui_print("Verifying current system...");
(I thinks this makes the checks pass... I dont know if this will brick the phone if the OTA update is for different from the phone model)
Then I run the update from clockworkmod recovery I have, it gives an error about some APKs that are expected to be on my phone, but arent because I root uninstall them, so it wont update.
Then I delete the each line giving errors, i.e. plusone.apk music2.apk cloudprint.apk etc (each one I uninstalled)
i.e. if I had root uninstall cloudprint.apk I had to delete the lines:
apply_patch_check("/system/app/CloudPrint.apk", "6ae7e170d4f44c6e0f42f200b3861102b86fe92c", "df3f0829bf636b8719245296533bb9e4ca2b62ce") || abort("\"/system/app/CloudPrint.apk\" has unexpected contents.");
and
assert(apply_patch("/system/app/CloudPrint.apk", "-",
6ae7e170d4f44c6e0f42f200b3861102b86fe92c, 3643274,
df3f0829bf636b8719245296533bb9e4ca2b62ce, package_extract_file("patch/system/app/CloudPrint.apk.p")));
Then I tried again the update and it worked
Hope it helps in someway...
PS: to get the OTA zip update I have to let the OTA update asks me to be downloaded, let it download, then with a root file explorer went to /cache/... on the phone and looked for the Blur_Version.161.44.26.ghost_row.Latam.en.AR.zip
If you are on the stock rom the OTA.zip is intended for, but just rooted and removed/changed things (like editing the build.prop, removed bloat APKs, etc), then it is relatively safe to unzip the OTA.zip, edit the manifest file to eliminate some of the checks, then re-zipping and manually applying.
sebadamus said:
....
(I thinks this makes the checks pass... I dont know if this will brick the phone if the OTA update is for different from the phone model)
...
Click to expand...
Click to collapse
The first 3 bold lines in your post show that the update is looking for a specific ROM and version be on your phone by looking in the /system/build.prop file that is currently on your phone, and if your phone doesn't match that, it wont install. Deleting them as you have, the OTA.zip could be applied to any phone. However, some files still wont get updated because their checksum in the manifest wont match the version on the phone (or in your case were not on the phone). That would either cause the OTA to fail, or the wrong versions might get placed on the phone.
If the OTA is for a different mode phone (XT1053 vs XT1058), or different rom (i.e. its a 4.4.3 update and you are applying it to a phone with stock 4.4), then it can get dangerous because you'd end up with mismatched files on your phone, or files that could be incompatible with your model. That is why there is a version check before the OTA installs.
Thanks KidJoe! So if my update is the right one, and the updated files haven been modifiend on my phone from its stock version, but I have a modified recovery, rooted phone or build.prop modified, this way is the only I could find to update applying OTA updates.
I could update to 4.4.4 from 4.4.3 (motox 1058 rooted, custom recovery philz) :good:

Need help for OTA update Ale-L21

I have an ALE-L21 with B170 and I received the information about the B188 OTA update but, everytime I try to update the system stopped at 7-11%. I have unlocked bootloader and root so I believe that this is the problem.
I decided to anayze the update package that consist of:
three directories:
META-INF
patch
system
and a file:
update.app that I extracted using Huawei update extractor and it contains:
00.SHA256rsa.img
01.crc.img
02.curver.img
03.verlist.img
04.efi.img
05.fastboot1.img
06.boot.img
07.recovery.img
08.recovery2.img
11.cache.img
13.dtimage.img
14.dsp.img
15.fastboot.img
16.hifi.img
17.mcuimage.img
18.modemimage.img
19.modemnvm1.img
20.teeos.img
21.trustfirmware.img
Click to expand...
Click to collapse
I decided to analyze the updater-script in META-INF that I have attached and analyzing it I found that after verifying the version of the phone:
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "hi6210sft/hi6210sft/hi6210sft:5.0/LRX21M/jenkins12081438:user/test-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "hi6210sft/hi6210sft/hi6210sft:5.0/LRX21M/jenkins10091506:user/test-keys");
assert(file_getprop("/system/build.prop", "ro.product.device") == "hi6210sft" ||
file_getprop("/system/build.prop", "ro.product.device") == "hi6210sft" ||
file_getprop("/system/build.prop", "ro.build.product") == "hi6210sft" ||
file_getprop("/system/build.prop", "ro.build.product") == "hi6210sft");
Click to expand...
Click to collapse
it starts to verify the sha1 checksum of files in cust and system directory
assert(apply_patch_check("/cust/channel/tr/xml/global_operator_name.xml", "b3ea5fa1a6affbeaf760e5f8e74d4cf681c57595", "371f5afc57db71120281b063752512e6e4dd6ed8"));
set_progress(0.004016);
[...]
before applying the patch:
apply_patch("/cust/channel/tr/xml/global_operator_name.xml", "-",
b3ea5fa1a6affbeaf760e5f8e74d4cf681c57595, 39876,
"371f5afc57db71120281b063752512e6e4dd6ed8",
package_extract_file("patch/cust/channel/tr/xml/global_operator_name.xml.p"));
set_progress(0.004016);
[...]
I believe that is during this part that something doesn't match after unlocking bootloader and rooting the system.
Is there a way to do a sha1 checksum of the files in cust and system directory and then compare to the one listed in this script?
at the end of the script there are some command that I don't understand:
ui_print("Unpacking new files...");
package_extract_dir("system", "/system");
package_extract_dir("modem", "/modem");
package_extract_dir("3rdmodem", "/3rdmodem");
package_extract_dir("cust", "/cust");
Click to expand...
Click to collapse
but modem and 3rdmodem package are not present anywhere
that is present only in this command:
ui_print("write radio image...");
write_firmware_image("UPDATE.APP", "radio");
Try to full unroot and system files like build.prop and other must be in original format(untouchable)
When I running this version of firmware many times install this OTA over the B170, so if you have EU model(ALE-L21 cust C432) should not be a problem to install it
sokkoban said:
Try to full unroot and system files like build.prop and other must be in original format(untouchable)
When I running this version of firmware many times install this OTA over the B170, so if you have EU model(ALE-L21 cust C432) should not be a problem to install it
Click to expand...
Click to collapse
I already did a full unroot but with no luck.
I never modify build.prop; how could I check if the other system file are in original format? I updated PlayStore to the latest version and integrated in system.
You want to update to 6.0?
If it's already been released the Italian dual sim version, I would install 6.0 happily
Sure, use B560. If not by local update then by fastboot commands...

vs995 - cant flash any roms (zip file is corrupt)

Ok guys,, been a long time since ive updated my vs995, an old old version of resurection remix back in the day. I remember there was a fix for it, i think it was the meta tag or something back in the day was wrong and id have to change it or something... It wont let me flash anything vs995..
Any suggestions on how to correct it? Thanks
Try updating your twrp. Here is my latest vs995 build (thread is here). Basically I suspect you're running one of the old "Elsa" twrp builds when what you're trying to flash may have stopped checking for it. This is all is if you're getting an error like "E3004: This package is for device: vs995; this device is elsa". It can be manually bypassed by deleting a line like
Code:
assert(getprop("ro.product.device") == "vs995" || getprop("ro.build.product") == "vs995" || abort("E3004: This package is for device: vs995; this device is " + getprop("ro.product.device") + "."););
in the updater-script file a few folders deep in the meta-inf folder of the zip.
Did you happen to download these roms with chrome on your phone? Chrome won't download them correctly because it thinks it's a harmful file. On the PC version you can choice to download anyway. On the Android version I haven't figured out how to do that yet.

Our device won't get Pie

Hi
I've read here https://www.tecnoandroid.it/2018/03...hone-che-dovrebbero-ricevere-android-p-324672 (in Italian) that 90% we won't get pie. I'm a little surprised.
What do you think? Are they wrong?
I didn't expect Pie, cos Mediatek is hard chipset to work with.
At this moment , I would be happy if they just release the touchscreen patch.
I am sick of seeing my TS deteriorating in Oreo.
Gentleman's : Read this : 1 , 2 , 3 , 4 , 5 .
If you read this important information's you find one important news :
1.This CPU's is very similar based on cortex a53 .
2.I can crossport rom to xa1 (lineage os) , and do pie on xa1 .
3.I do port (not tested - problem's with install and pack rom) , of lineage based on 7.1.2 nougat .
Now after do installer I have problem with script .
I plan to do port of pie based on lineage from xa2 to xa1 to december/january of this year !!
Please don't say about xa1 and impossible make pie for this device :')
I need help with make this rom's for xa1 . I welcome developers to work with me
MAREK10747 said:
Gentleman's : Read this : 1 , 2 , 3 , 4 , 5 .
If you read this important information's you find one important news :
1.This CPU's is very similar based on cortex a53 .
2.I can crossport rom to xa1 (lineage os) , and do pie on xa1 .
3.I do port (not tested - problem's with install and pack rom) , of lineage based on 7.1.2 nougat .
Now after do installer I have problem with script .
I plan to do port of pie based on lineage from xa2 to xa1 to december/january of this year !!
Please don't say about xa1 and impossible make pie for this device :')
I need help with make this rom's for xa1 . I welcome developers to work with me
Click to expand...
Click to collapse
Hi
I didn't say "impossible to get pie" I said "won't get pie from official channels".
I'm a Java developer, time allowing, if you need help, just ask :highfive:
Ok . Let's start job Faby if you can help me fix problem number 7 with twrp install
MAREK10747 said:
Ok . Let's start job Faby if you can help me fix problem number 7 with twrp install
Click to expand...
Click to collapse
Ok i can't find the zip, but to solve:
1) unzip the zip ))
2) go to META-INF/com/google/android
3) find updater-script
4) rename it to updater-script.txt
5) edit it with Notepad++ (or similar)
6) find the "assert" method, something like:
Code:
assert( codes, codes, codes);
7) delete the method
ex:
Code:
assert(1,2,3,4);
other code(6);
codes too(7);
becomes:
Code:
other code(6);
codes too(7);
8) SAVE!
9) rename back updater-script.txt to updater-script
10) rezip again
11) done
If you need language help too, just ask me (i know Spanish, French and Italian too)
For the next times, ask me help via Private Messages. I will send you there my backup TA, please patch DRM from stock kernel. Thank you :highfive:
assert don't working , I try with assert and without assert.
I have the same effect with and without ...
Please read log .
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || getprop("ro.product.name") == "full_hinoki" ||
abort("This package is for "hinoki" devices; this is a "" + getprop("ro.product.device") + "".");
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || abort("E3004: This package is for device: Sony XA1.");
ui_print("Target: alps/full_hinoki/hinoki:8.0.0/O00623/1526929025:user/test-keys");
ifelse(is_mounted("/system"), unmount("/system"));
and
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || getprop("ro.product.name") == "full_hinoki" ||
abort("This package is for "hinoki" devices; this is a "" + getprop("ro.product.device") + "".");
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || abort("E3004: This package is for device: Sony XA1.");
ui_print("Target: sony/full_hinoki/hinoki:7.0.0/O00623/1526929025:user/test-keys");
ifelse(is_mounted("/system"), unmount("/system"));
and
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || getprop("ro.product.name") == "full_hinoki" ||
abort("This package is for "hinoki" devices; this is a "" + getprop("ro.product.device") + "".");
assert(getprop("ro.product.device") == "hinoki" || getprop("ro.build.product") == "hinoki" || abort("E3004: This package is for device: Sony XA1.");
ui_print("Target: alps/full_hinoki/hinoki:8.0.0/O00623/1526929025:user/test-keys");
I never believed that XA1 will get Pie - first it has MTK, for enthusiast it may not be a problem, for OEMs it is, coz they need official (aka reliable) SoC code and Mediatek rarely gives more than one update. And it's not flagship or even middle-end with Snapdragon to get more than one update (like X and Compact).
surprisekot said:
przygotuj dla mnie te rzeczy do upgrade prosba nawet na te xperie jedyny tel na ktorego twrp nie dzialaja tylko 3.0.2 odpala...dziwny ten fon
Click to expand...
Click to collapse
English Please.
MAREK10747 said:
assert don't working , I try with assert and without assert.
I have the same effect with and without ...
Click to expand...
Click to collapse
Mate I can't believe you make big claims about bringing lineageOS to the XA1 and then can't work out why you can't flash a ROM made for another device
What exactly did you do??
Clearly you did not extract this ROM to make a proper port or you would of repacked it for the XA1.
Did you just simply change the boot.img within this ROM if so it's highly unlikely it will ever work.
These issues your having are most basic and easily solved where as bringing LineageOS to our device is a huge undertaking involving some major source code editing.
bigrammy said:
English Please.
Mate I can't believe you make big claims about bringing lineageOS to the XA1 and then can't work out why you can't flash a ROM made for another device
What exactly did you do??
Clearly you did not extract this ROM to make a proper port or you would of repacked it for the XA1.
Did you just simply change the boot.img within this ROM if so it's highly unlikely it will ever work.
These issues your having are most basic and easily solved where as bringing LineageOS to our device is a huge undertaking involving some major source code editing.
Click to expand...
Click to collapse
Soo I do port of rom from x603 to xa1 . I start with nougat , because is more easy than oreo to port (for me) . I do all for make good port of rom for this device . I have always problem with fix problems with updater script and updater have problem only !! System and boot was ported fully .
MAREK10747 said:
Soo I do port of rom from x603 to xa1 . I start with nougat , because is more easy than oreo to port (for me) . I do all for make good port of rom for this device . I have always problem with fix problems with updater script and updater have problem only !! System and boot was ported fully .
Click to expand...
Click to collapse
Code:
unmount of /system failed (-1): Device or resource busy
Try This.
In TWRP toggle /system mount or unmount manually and try again.
EG:
If /system IS mounted automatically unmount it and try flash the rom.
If the /system is NOT mounted automatically then mount it and try flash the rom.
bigrammy said:
Code:
unmount of /system failed (-1): Device or resource busy
Try This.
In TWRP toggle /system mount or unmount manually and try again.
EG:
If /system IS mounted automatically unmount it and try flash the rom.
If the /system is NOT mounted automatically then mount it and try flash the rom.
Click to expand...
Click to collapse
Your method don't working ... . More often error is 7 and sometimes after script mod is error 6 in twrp .
MAREK10747 said:
Your method don't working ... . More often error is 7 and sometimes after script mod is error 6 in twrp .
Click to expand...
Click to collapse
I downloaded the ROM from your thread but I think it maybe corrupted as I was unable to extract the system.new.dat.
All that would be normally required to flash the /system and /boot would be.
Code:
ifelse(is_mounted("/system"), unmount("/system"));
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/platform/mtk-msdc.0/11230000.msdc0/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, 5);
package_extract_file("boot.img", "/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot");
show_progress(0.200000, 10);
set_progress(1.000000);
Everything else could be removed.
I check it tomorrow . Thanks
EDIT : Don't working error code 7 . Failed to update system image
MAREK10747 said:
I check it tomorrow . Thanks
EDIT : Don't working error code 7 . Failed to update system image
Click to expand...
Click to collapse
Yes as said before I think the "system.new.dat" file is corrupted as it fails to unpack even on my PC so I think you will need to recompile it.
Update: Sony said that they will update XA series without specifying which models (they would have said "xa2", maybe there's a chance...

Categories

Resources