Unsupported bootloader for Blisspoprom 4.0 - T530 - Galaxy Tab 4 Q&A, Help & Troubleshooting

Hello everyone!
After finally figuring out how to boot into TWRP on the norwegian version of this device, I was crazy with exitement about flashing blisspoprom, but I get this error message:
This package supports bootloader (s) T530XXU1B0D8, T530NUUEU1B0E5; this device has bootloader T530XXU1B0G2
I have flashed a lot of devices, but I haven't really looked into bootloaders., as I've never encountered this problem before.
Is it possible to replace the bootloader on my device at all? Or are there version of the ROM out there that supports my bootloader?
N00b questions, indeed, but it's proven quite hard to find information on google searches on this subject, and everything I've found seems to be device specific. I tried to flash stock with bootloader update checked in Odin, but that didnæt change the bootloader number...

Open the rom file in 7zip or WinRar, go to META-INF/com/Google/Android and open the updater-script with notepad++. Delete the first line of the updater-script (it should have the word "assert" in it ". Save it and now try flashing the rom

thisisapoorusernamechoice said:
Open the rom file in 7zip or WinRar, go to META-INF/com/Google/Android and open the updater-script with notepad++. Delete the first line of the updater-script (it should have the word "assert" in it ". Save it and now try flashing the rom
Click to expand...
Click to collapse
Thank you sir! Much appreciated.
I got the file open in Notepad, would it be awfully blunt of me to ask you how much of this I need to delete? There's two lines starting with "assert" so I thought It would be safest to ask.
"assert(getprop("ro.product.device") == "matissewifi" || getprop("ro.build.product") == "matissewifi" || abort("This package is for device: matissewifi; this device is " + getprop("ro.product.device") + ".");
assert(getprop("ro.bootloader") == "T530XXU1BOD8" || getprop("ro.bootloader") == "T530NUUEU1BOE5" || abort("This package supports bootloader(s): T530XXU1BOD8, T530NUUEU1BOE5; this device has bootloader " + getprop("ro.bootloader") + ".");
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
....

MadBigMadBoatMan said:
Thank you sir! Much appreciated.
I got the file open in Notepad, would it be awfully blunt of me to ask you how much of this I need to delete? There's two lines starting with "assert" so I thought It would be safest to ask.
"assert(getprop("ro.product.device") == "matissewifi" || getprop("ro.build.product") == "matissewifi" || abort("This package is for device: matissewifi; this device is " + getprop("ro.product.device") + ".");
assert(getprop("ro.bootloader") == "T530XXU1BOD8" || getprop("ro.bootloader") == "T530NUUEU1BOE5" || abort("This package supports bootloader(s): T530XXU1BOD8, T530NUUEU1BOE5; this device has bootloader " + getprop("ro.bootloader") + ".");
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
....
Click to expand...
Click to collapse
Delete the following:
"assert(getprop("ro.product.device") == "matissewifi" || getprop("ro.build.product") == "matissewifi" || abort("This package is for device: matissewifi; this device is " + getprop("ro.product.device") + ".");
assert(getprop("ro.bootloader") == "T530XXU1BOD8" || getprop("ro.bootloader") == "T530NUUEU1BOE5" || abort("This package supports bootloader(s): T530XXU1BOD8, T530NUUEU1BOE5; this device has bootloader " + getprop("ro.bootloader") + ".");
Click to expand...
Click to collapse
Leave everything beginning with package_extract_dir("install", '/tmp/install");
Also just making sure, you are using the latest version of BlissPop, correct? Located here, you want the one named BlissPop-v4.0.1-matissewifi-UNOFFICIAL-20150917-1958.zip (note you want the one dated 20150917, not the one dated 20150912).
Also I'd recommend using notepad++ rather than regular notepad, idk if that's absolutely necessary, just a recommendation

thisisapoorusernamechoice said:
Delete the following:
Leave everything beginning with package_extract_dir("install", '/tmp/install");
Also just making sure, you are using the latest version of BlissPop, correct? Located here, you want the one named BlissPop-v4.0.1-matissewifi-UNOFFICIAL-20150917-1958.zip (note you want the one dated 20150917, not the one dated 20150912).
Also I'd recommend using notepad++ rather than regular notepad, idk if that's absolutely necessary, just a recommendation
Click to expand...
Click to collapse
Flashing!
4.0 for now, didn't want to wait for another download. I'll try 4.0.1 if there's any hithches. And, regular notepad seems to have done the trick, I hadn't heard of ++ before but I'll check it out.

Related

DEODEX For S5830DXKPB 2.3.4

Recommended for fresh firmware only!
Read the instructions carefully!
Can only be flashed through CWM recovery
First, make sure you have CWM recovery installed. Then follow this steps carefully:
Download the file below and put it on your sdcard
Boot into recovery mode (CWM)
Navigate with the volume button, then choose install zip from sdcard
Choose chose zip from sdcard
Select the zip file you've downloaded and click yes
Wait till the installation complete then reboot your phone
Download:
DXKPB-Deodex.zip @Mediafire (63.29MB)
fla.sh said:
Recommended for fresh firmware only!
Read the instructions carefully!
Can only be flashed through CWM recovery
First, make sure you have CWM recovery installed. Then follow this steps carefully:
Download the file below and put it on your sdcard
Boot into recovery mode (CWM)
Navigate with the volume button, then choose install zip from sdcard
Choose chose zip from sdcard
Select the zip file you've downloaded and click yes
Wait till the installation complete then reboot your phone
Download:
DXKPB-Deodex.zip @Mediafire (63.29MB)
Click to expand...
Click to collapse
It must be your 3.1Mbps
EmoBoiix3 said:
It must be your 3.1Mbps
Click to expand...
Click to collapse
You're right, now it's easier to upload large files
fla.sh said:
You're right, now it's easier to upload large files
Click to expand...
Click to collapse
Well , I'm happy for you bro
*BE ON WHATSAPP*
stuck at the opening phase after updated from CMW recovery mode ...
foxsiang said:
stuck at the opening phase after updated from CMW recovery mode ...
Click to expand...
Click to collapse
It should working, you're on the wrong firmware, maybe? You could also try to mount /system and /data before flashing...
foxsiang said:
stuck at the opening phase after updated from CMW recovery mode ...
Click to expand...
Click to collapse
You should not UPDATE from SDCard , but install zip from SDCard instead .
i already use DXKPB + CF-Root B80, can i use this update now or i have to flash fresh DXKPB again?
Jenggot said:
i already use DXKPB + CF-Root B80, can i use this update now or i have to flash fresh DXKPB again?
Click to expand...
Click to collapse
After you've done flashing the deodexed files, flash b80 again because Tweak and CWM Manager app will be removed.
Jenggot said:
i already use DXKPB + CF-Root B80, can i use this update now or i have to flash fresh DXKPB again?
Click to expand...
Click to collapse
i've done that too...but after i flash deodex my application got force closed and i feel my ace become slow, i don't know maybe it's just me though...
so just in case i flash again
fla.sh said:
After you've done flashing the deodexed files, flash b80 again because Tweak and CWM Manager app will be removed.
Click to expand...
Click to collapse
Thank you, i'll try soon after finishing download
thanks for this gan
i requested it yesterday.hehe
What about custom bootanimation?
Sent from my GT-S5830 using XDA Premium App
fla.sh said:
It should working, you're on the wrong firmware, maybe? You could also try to mount /system and /data before flashing...
Click to expand...
Click to collapse
I think the firmware is correct. I also try to mount sys & data already. Same problem. I will try it again tomorrow . Thanks~
EmoBoiix3 said:
You should not UPDATE from SDCard , but install zip from SDCard instead .
Click to expand...
Click to collapse
Yup~ i done it. Thanks anyway~ I will continue to try it tomorrow.
What improvement after deodex?
mynewuser said:
What improvement after deodex?
Click to expand...
Click to collapse
Same question over and over http://goo.gl/HvCMT
stuck on boot logo.
storage1 said:
Same question over and over http://goo.gl/HvCMT
Click to expand...
Click to collapse
So mean it not for me. Also it may eat out some internal memory.
Thanks flash. Manage to deodex successfully.
Keep up the good work!
Sent from my GT-S5830 using xda premium
To force re-install of CF-Root application without re-flash CF-Root:
Code:
assert(getprop("ro.product.device") == "GT-S5830L" ||
getprop("ro.product.board") == "GT-S5830L" ||
getprop("ro.build.product") == "GT-S5830L" ||
getprop("ro.product.device") == "GT-S5830B" ||
getprop("ro.product.board") == "GT-S5830B" ||
getprop("ro.build.product") == "GT-S5830B" ||
getprop("ro.product.device") == "GT-S5830T" ||
getprop("ro.product.board") == "GT-S5830T" ||
getprop("ro.build.product") == "GT-S5830T" ||
getprop("ro.product.device") == "GT-S5830" ||
getprop("ro.product.board") == "GT-S5830" ||
getprop("ro.build.product") == "GT-S5830" ||
getprop("ro.product.model") == "GT-S5830"
);
#assert(getprop("ro.build.version.incremental") == "DXKPB");
show_progress(0.1, 0);
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
mount("rfs", "EMMC", "/dev/block/stl12", "/system");
mount("ext4", "EMMC", "/dev/block/stl13", "/data");
mount("rfs", "EMMC", "/dev/block/stl13", "/data");
mount("ext4", "EMMC", "/dev/block/mmcblk0p2", "/sd-ext");
show_progress(0.1, 10);
ui_print("Delete /system/app...");
delete_recursive("/system/app");
ui_print("Delete /system/framework...");
delete_recursive("/system/framework");
show_progress(0.1, 20);
ui_print("Extracting /system...");
package_extract_dir("system", "/system");
show_progress(0.1, 30);
ui_print("Delete dalvik-cache...");
delete_recursive("/data/dalvik-cache");
delete_recursive("/sd-ext/dalvik-cache");
delete_recursive("/system/cfroot");
show_progress(0.2, 0);
ui_print("Set permission...");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework");
show_progress(0.2, 10);
unmount("/system");
unmount("/data");
unmount("/sd-ext");
ui_print("Done!");

[Concept] OEM Image flasher [AOSP on the Go]

I make it short. Actually are Xperia Devices unable to run AOSP without using fastboot to flash the OEM Images from SONY. I wanted to create a empty ZIP containing a Updater Script who flashes the OEM Images after placing them into the ZIP. The Problem is that i was unable to find the OEM Partition. Is anyone aware of it? I'm searching for the "/dev/block/platform/*/by-name/" to use a command like this "package_extract_file("boot.img", file_getprop("/tmp/config", "boot"));"
And for the People who are wondering why the ZIP has to be empty. There are two Reasons. First, all Devices need own Images, besides that they are getting updated from Time to Time.
The second thing is the Legal Stuff. SONY added a Agreement before You can download the Images. Every User has to accept that, otherwise would we get trouble with them.
Just to clear that out already. Hope we can quickly make the flashing more handy for the Future!
And Dear Moderators, pls don't move this Thread. It will be edited and extended after creating the ZIP to share it right here!
Why not just add /oem flash image to ota-zip (or twrp?)?
Miustone said:
I make it short. Actually are Xperia Devices unable to run AOSP without using fastboot to flash the OEM Images from SONY....
And Dear Moderators, pls don't move this Thread. It will be edited and extended after creating the ZIP to share it right here!
Click to expand...
Click to collapse
{make otapackage} works 100% on xz1 Xperiadev natural aosp; it even comes with an odd aosp/recovery embedded : thus better to FIRST make clean +make bootimage and save it to avoid final embedded recovery. The /vendor img is also included in the ota zip.
If you want to add addon.d support check my Los15 "extracted" https://forum.xda-developers.com/an...zip-custom-t3173316/post76455910#post76455910
Than just repack the final ota zip package with them (including Los15 update-binary).
If you want WidevineDRM L3 (check XZ1 attached txt) you need to add specifics drm/vendors in /vendor prior to build; alternatively for Magisk users, you can instead repack them in final ota zip, but they will only be active after Magisk install. Source https://github.com/DirtyUnicorns/an...3d1555c#diff-daceb2a2ce86bd2430773e29f2b3db5e
To avoid Firebase analytics in Webview , I also suggest using Lineage15 pre-pack 66 version (arm64) https://github.com/LineageOS/android_external_chromium-webview/tree/lineage-15.1/prebuilt
Don't forget MicroG patches https://forum.xda-developers.com/showpost.php?p=75320072&postcount=4319 ...
Code:
[SIZE="1"][I]'bolded is added'[/I]
getprop("ro.product.device") == "poplar" || abort("E3004: This package is for \"poplar\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Target: Sony/aosp_g8341/poplar:8.1.0/OPM2.171019.029/nn04300157:userdebug/dev-keys");
[B]ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "backup");
unmount("/system");
[/B]show_progress(0.650000, 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.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
[B]mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore");
unmount("/system");
[/B]
show_progress(0.100000, 0);
ui_print("Patching vendor image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat.br", "vendor.patch.dat") ||
abort("E2001: Failed to update vendor image.");
[B]mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/vendor", "/vendor", "");
package_extract_dir("vendor", "/vendor");
unmount("/vendor");
[/B]show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
set_progress(1.000000);
[/SIZE]
EDIT @Miustone , aosp xperiadev mostly use /odm instead of /oem for /dev/block/bootdevice/by-name/oem (sda63 on xz1), but fastboot always -> oem
(1000Thx @jerpelea )

Lineage Rom Install fails with Error 7 - klte is not recognized

Hi all
Trying to install the latest nightly has been impossible since June. Have left things as is, the phone works fine with the installed ROM version.
Now I tried to research where the problem lies, but don't have the necessary tech know-how to remedy it.
When trying to install the zip the following messages appear on TWRP:
Updating partition details......
...... done
Full SELinux support is present.
MTP Enabled
Installing zip file '/external_sd/LineageOS/lineage-15.1-20181214-nightly-klte-signed.zip'
Checking for MD5 file...
Skipping MD5 check: no MD5 file found
Warning: No file_contexts
E3004: This package is for device: klte,klteacg,klteatt,kltecan,kltelra,kltetmo,klteusc,kltevzw,kltexx; this device is .
(now text in red)
E:unknown command[log]
Updater process ended with ERROR: 7
Error installing zip file '/external_sd/LineageOS/lineage-15.1-20181214-nightly-klte-signed.zip'
(text in red ends)
Updating partition details....
...done
Until June, the nightly updating never was a problem.
I am 100% sure my S5 is the klte version
The red line E:unknown command [log] always popped up when updating, but did not interrupt the updating process.
The latest version that worked for updating and that is installed on my phone is: 14.1-20180629-NIGHTLY-klte
Kernel Version
3.4.113-lineageos-g31d25d7
[email protected] #1
Fri Jun 29 14:12:53 CEST 2018
Build Number
lineage_klte_userdebug 7.1.2 NJH47F 6fc3da3341
Hope this info helps to identify, why the nightly does not recognize the klte (see the 9th line, where it says ' this device is . '
My guess is that either some file on my phone is missing or not in the spot where the nightly is looking for it???
How can i repair this so that i can get my S5 up to date?
Appreciate your help!!
Delete the first line in updater script using notepad++
Where is the updater script?META-INF/com/google/android/updater-script
Thank you for your answer. Unzipped the nightly file, but I can not find a script named updater? Do you mean the file I list below:
updater-script ???
The first line reads:
assert(getprop("ro.product.device") == "klte" || getprop("ro.build.product") == "klte" ||
getprop("ro.product.device") == "klteacg" || getprop("ro.build.product") == "klteacg" ||
getprop("ro.product.device") == "klteatt" || getprop("ro.build.product") == "klteatt" ||
getprop("ro.product.device") == "kltecan" || getprop("ro.build.product") == "kltecan" ||
getprop("ro.product.device") == "kltelra" || getprop("ro.build.product") == "kltelra" ||
getprop("ro.product.device") == "kltetmo" || getprop("ro.build.product") == "kltetmo" ||
getprop("ro.product.device") == "klteub" || getprop("ro.build.product") == "klteub" ||
getprop("ro.product.device") == "klteusc" || getprop("ro.build.product") == "klteusc" ||
getprop("ro.product.device") == "kltevzw" || getprop("ro.build.product") == "kltevzw" ||
getprop("ro.product.device") == "kltexx" || getprop("ro.build.product") == "kltexx" || abort("E3004: This package is for device: klte,klteacg,klteatt,kltecan,kltelra,kltetmo,klteub,klteusc,kltevzw,kltexx; this device is " + getprop("ro.product.device") + ".");
If that is correct, please let me know. prefer to be 100% sure before bricking my phone. Thanks for your patience with a newb
unzipping the nightly I see:
folder install/bin with backuptool.functions and backuptool.sh
folder META-INF/com/android with metadata and otacert
folder META-INF/com/google/android with update-binary and updater-script ??? any of these 2????
folder META-INF/org/lineageos with releasekey
folder system with build.prop
and the files
boot.img
file_contents.bin
system.new.dat.br
system-patch.dat
system.transfer.list
Once more: Appreciate your help a lot!
Edit: THIS WORKED JUST FINE! Thank you a million! Using notepad++ makes editing the file a snap, as it does not insist on .txt ending of file. Edited the line above out and saved the file, zipped the lot up again and then did the Install in TWRP. The Install process ran smoothly. Wiped the Davlik and rebooted. System comes up just fine!!!! AD FOX You were a great help!!!!
same problem on lineage 16 any fix yet?
Octaved said:
same problem on lineage 16 any fix yet?
Click to expand...
Click to collapse
Can confirm, same problem, also same solution, as described above:
open the zip, edit META-INF/com/google/android/updater-script
Remove from the start of assert(getprop("ro.product.device") == "klte" || ... untill ...+ getprop("ro.product.device") + ".")
Save, and use this modified zip. I just tried it with no problems. Thanks!
Updater process ended with signal: 11
xananaxx said:
Can confirm, same problem, also same solution, as described above:
open the zip, edit META-INF/com/google/android/updater-script
Remove from the start of assert(getprop("ro.product.device") == "klte" || ... untill ...+ getprop("ro.product.device") + ".")
Save, and use this modified zip. I just tried it with no problems. Thanks!
Click to expand...
Click to collapse
Tried this solution but now get different error Updater process ended with signal: 11
According to the updater-script its failing at this point
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
The same here. I also got the error 11 message after flashing the modified updater script. My solution: Just flash the next older version of TRWP (e.g. instead of twrp-3.4.0-0-klte.img use twrp-3.3.1-0-klte.img). It worked just fine.
plapic said:
Updater process ended with signal: 11
Tried this solution but now get different error Updater process ended with signal: 11
According to the updater-script its failing at this point
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
Click to expand...
Click to collapse
If editing the code and removing some open brackets, make sure to also remove the corresponding closing brackets. I.e. I changed line 1 from:
Code:
assert(getprop("ro.product.device") == "grouper" || getprop("ro.build.product") == "grouper" || abort("E3004: This package is for device: grouper; this device is " + getprop("ro.product.device") + "."););
into:
Code:
getprop("ro.product.device") + ".";
When I made this change to line 1 of updater-script it worked fine and the ROM installed.
By the way, if you edit updater-script, you have edited the zip file and so you will need to uncheck TWRP's 'zip signature verification' tickbox.

kccat6 twrp fails upgrade to 15.1 updater-script issues

Folks.
I am sure this has been fixed before but I cannot find it using Google-fu or XDA searches.
I have a S5 G901f running Lineage OS 14.1 [14.1-20180615-NIGHTLY-kccat6]
I want to upgrade to 15 so I downloaded the nightly image file from here: hxxxps://download.lineageos.org/kccat6
I got the Feb 15 and Feb 8 versions just to make sure.
lineage-15.1-20190215-nightly-kccat6-signed.zip
lineage-15.1-20190206-nightly-kccat6-signed.zip
They fail on TWRP twrp-3.2.3-0-kccat6.img with Error Code 7, because my phone fails to report any device at all, it reports as null. [Note there is also a non fatal error reporting no Digest file found but I believe that's not the issue.
So I edited the update-script to remove the device check: vis
I removed this totally:
assert(getprop("ro.product.device") == "kccat6xx" || getprop("ro.build.product") == "kccat6xx" ||
getprop("ro.product.device") == "kccat6" || getprop("ro.build.product") == "kccat6" || abort("E3004: This package is for device: kccat6xx,kccat6; this device is " + getprop("ro.product.device") + ".");
ui_print("Target: samsung/kccat6xx/kccat6:6.0.1/MMB29M/G901FXXS1CPLA:user/release-keys");
Click to expand...
Click to collapse
But then TWRP fails with Error 6, which is almost certainly to do with this line later in update-script:
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "backup");
Click to expand...
Click to collapse
and then I guess this one would fail:
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore");
Click to expand...
Click to collapse
So, boys and girls, how do I edit the updater-script to make it work, or is there a variant TWRP that I can use which somehow fixes this?
Your kind advice is very welcome, and if I have posted incorrectly, please steer me aright..

lineageOSsuccefuly installled after adapting to axon 7 a2017g and asking about error6

Hi guys i succefuly installed lineageOS 14.1 after some changes and skipping two errors(error7 and error6) to adapt it on my phone axon7 a2017G ;
i want to know why on error6 i deleted (lines 3-4-5-6-7)!! what's the problem on those lines to adapt it on our phone axon 7 a2017g ! i mean we delete those instructions to adpat it in axon 7 a2017G .
this is the script-updater made at beginning :
1.assert(getprop("ro.product.device") == "ailsa_ii" || getprop("ro.build.product") == "ailsa_ii" || getprop("ro.product.device") == "axon7" || getprop("ro.build.product") == "axon7" || abort("E3004: This package is for device: ailsa_ii,axon7; this device is " + getprop("ro.product.device") + ".");
2.assert(axon7.verify_trustzone("TZ.BF.4.0.1-00325") == "1");
3.ui_print("Target: ZTE/P996A01_N/ailsa_ii:7.1.1/NMF26V/20170420.050245:user/release-keys");
4.ifelse(is_mounted("/system"), unmount("/system"));
5.package_extract_dir("install", "/tmp/install");
6.set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
7.set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
8.mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
9.run_program("/tmp/install/bin/backuptool.sh", "backup");
10.1unmount("/system");
11.if is_mounted("/data") then
12.package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
13.run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
14.else
15.mount("f2fs", "EMMC", "/dev/block/bootdevice/by-name/userdata", "/data", "");
16.package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
17.run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
18.unmount("/data");
19.endif;
20.show_progress(0.750000, 0);
21.ui_print("Patching system image unconditionally...");
22.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.");
23.show_progress(0.020000, 10);
24.mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
25.run_program("/tmp/install/bin/backuptool.sh", "restore");
26.unmount("/system");
27.show_progress(0.050000, 5);
28.package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
29.show_progress(0.200000, 10);
30.set_progress(1.000000);

Categories

Resources