I'm tired of the 'System Update' notifications on my M7, so I finally decided to flash CM11 to it (CM Was all I used on my Samsung phones as the Samsung ROMs SUCK, but the HTC ROMs aren't horrible for stock).
I downloaded the 'm7spr' version of CM11 M12 and GApps, then transferred them to my M7 and rebooted to TWRP. When I tried to flash it, I got 'This Package is for device: m7wls, m7spr; this device is m7.'
I downloaded and was able to flash the 'm7' version of CM11 M12, but while it booted, it was not able to find the network, probably because the 'm7' build is for GSM phones and mine is a Sprint phone.
Any ideas why the phone shows 'm7' as phone type when it's a *Sprint* m7, or a way to override that check and flash the ROM?
SubnetMask said:
I'm tired of the 'System Update' notifications on my M7, so I finally decided to flash CM11 to it (CM Was all I used on my Samsung phones as the Samsung ROMs SUCK, but the HTC ROMs aren't horrible for stock).
I downloaded the 'm7spr' version of CM11 M12 and GApps, then transferred them to my M7 and rebooted to TWRP. When I tried to flash it, I got 'This Package is for device: m7wls, m7spr; this device is m7.'
I downloaded and was able to flash the 'm7' version of CM11 M12, but while it booted, it was not able to find the network, probably because the 'm7' build is for GSM phones and mine is a Sprint phone.
Any ideas why the phone shows 'm7' as phone type when it's a *Sprint* m7, or a way to override that check and flash the ROM?
Click to expand...
Click to collapse
Well I'm not a fan of Cyanogenmod roms. Not that I'm saying you shouldn't use it (each to there own and all that) but normally when I see issues like this I tend to first of all think it's a Rom issue.
Are you sure your version of TWRP is compatible with Cyanogen mod roms. Check the the CM11 m12 thread see what recovery and version is recommended.
If you found my posts helpful, no need to say thanks. There's a button for that
I installed the latest version of TWRP. I tried the unofficial CM12 ROM that I found floating around here and had the same thing.
Finally, after finding a post from someone on the CM forums that had the same issue (but never got an answer) that had a little info from the update script, I took a chance and added 'getprop("ro.build.product") == "m7spr" ||
getprop("ro.product.device") == "m7" ||' to the 'updater-script' file and zipped it back up. I was then able to flash the ROM and have a normally functioning phone.
SubnetMask said:
I installed the latest version of TWRP. I tried the unofficial CM12 ROM that I found floating around here and had the same thing.
Finally, after finding a post from someone on the CM forums that had the same issue (but never got an answer) that had a little info from the update script, I took a chance and added 'getprop("ro.build.product") == "m7spr" ||
getprop("ro.product.device") == "m7" ||' to the 'updater-script' file and zipped it back up. I was then able to flash the ROM and have a normally functioning phone.
Click to expand...
Click to collapse
I have the same issue, wish it would get fixed.
JudgeFutta said:
I have the same issue, wish it would get fixed.
Click to expand...
Click to collapse
Bump, I have the same issue as well. Do I need to update the script as described above?
Rl
krakora said:
Bump, I have the same issue as well. Do I need to update the script as described above?
Rl
Click to expand...
Click to collapse
If you edit it, you can get it to flash.
I'm also having trouble with this, can you post exactly what you changed? I am trying to flash from stock to the latest Sprint m7 nightly and get the same compatability message, that my phone is "m7" and that the rom is for "m7spr."
If I understand correctly, you went in and changed:
META-INF\com\google\android\updater-script <- is that the right location?
Here is what I see when I open that up in notepad:
assert(getprop("ro.product.device") == "m7wls" || getprop("ro.build.product") == "m7wls" || getprop("ro.product.device") == "m7spr" || getprop("ro.build.product") == "m7spr" || abort("This package is for device: m7wls,m7spr; this device is " + getprop("ro.product.device") + ".");
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/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "backup");
unmount("/system");
if is_mounted("/data") then
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");
else
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", "");
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");
unmount("/data");
endif;
show_progress(0.750000, 0);
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore");
unmount("/system");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
Click to expand...
Click to collapse
So something in those top lines needs to change. I tried setting them all to m7 but that didn't work. Which ones did you change exactly?
OK - updating to the latest version of TWRP fixes this issue.
Related
creating simple update.zip is very easy if you know all the basics
some basics are as follows
1. folder structure
*META-INF (compulsory)
*system
*data
many folders can be added but for simple update.zip these three are required.
Click to expand...
Click to collapse
2. META-INF folder structure
META-INF> com (certificates lies here)
META-INF> com> google
META-INF> com> google> android (updater-script and update-binary lies here)
Click to expand...
Click to collapse
3. update-binary:-
created in C language cannot be created by anyone, it handles every command which is written in updater-script and do everything from extraction to writing image files
Click to expand...
Click to collapse
4. updater-script:-
this file contains all the commands which are needed to do the work, basic commands are provided below
Click to expand...
Click to collapse
5. update-script common commands:-
Code:
ui_print("");
# put the lines in between "" what you want cwmr to show while flashing
e.g ui_print("text by DHLALIT11");
-------------------------
Code:
show_progress(0, 0);
# before comma is the number by which you want to increase the progress, 1 is complete 0.20 is 20%, after comma is the time until which progress bar will keep progressing when time will be completed progress bar will show 20%
e.g:- show_progress(.50, 5);
-------------------------
Code:
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
# command is used to mount system without mounting nothing can be copied to system (will not work on rfs file system
-------------------------
Code:
package_extract_dir("folder name", "/path");
# this command is used to extract the files which you have copied to system folder of the package to the system folder of the phone
(e.g:- package_extract_dir("system", "/system");
-------------------------
Code:
run_program("/sbin/busybox", "mount", "/dev/block/mmcblk0p2", "/data");
# command is used to mount data without mounting nothing can be copied to data (may not work on rfs file system )
-------------------------
Code:
package_extract_dir("data", "/data");
# this command is used to extract the files which you have copied to data folder of the package to the data folder of the phone
-------------------------
package_extract_file("path/to/file", "/path/to/extract");
# command is used to extract the script or any other file to temp folder.
e.g:-
Code:
package_extract_file("script/tool.sh", "/tmp/tool.sh");
-------------------------
Code:
delete_recursive("folder name");
# use to delete a complete folder that can be system, data, cache etc.
e.g:- delete_recursive("/system/media");
# will delete media folder from /system
-------------------------
Code:
delete("file with complete patch");
# use to delete a single file
e.g:- delete("/system/app/app.apk");
# app.apk will be deleted from /system/app
-------------------------
Code:
set_perm(0, 0, 06755, "/system/xbin/su");
# this command is used to give permission to a file, in this scenario we are giving permission to su file to make it work properly.
-------------------------
Code:
set_perm_recursive (1000, 1000, 0771, 0644, "data/app");
# this command is used to give permission to the whole folder, in this scenario we are giving permission to app folder to make it work properly.
Click to expand...
Click to collapse
6. ";" sign must be written after the completion of every command if a single one is missing package will not flash
Click to expand...
Click to collapse
7. adding "#" before any command will tell system not to read that line
Click to expand...
Click to collapse
8. /tmp folder:- a folder where all temporary files like boot.img, updater.sh, modem.bin are extracted
Click to expand...
Click to collapse
9. updater script is very sensitive about line break code if you edit the updater script with any windows editor without changing line break code it will give error so to edit updater script use jota text editor(android) or notepad++(windows)
Click to expand...
Click to collapse
------------------------------------
the file you want copy to system or data through update.zip must be placed in the system or data folder of update.zip along with the folder structure
suppose you want to install busybox then the file must be placed like this:- update.zip> system> xbin> busybox
want to install YouTube as system app then the app must be placed like this:- update.zip> system> app> YouTube.apk
want to install YouTube as data app then the app must be placed like this:- update.zip> data> app> YouTube.apk
Helpful tut !
Good tut but why not just install java and that batch file programme made buy someone here at xda..
freakyfriday said:
Good tut but why not just install java and that batch file programme made buy someone here at xda..
Click to expand...
Click to collapse
you must be talking about d4 update.zip maker
this tut is only to give info
and suppose you are not near to your PC and you want to make a cwm zip then if you know all this you can easily create the package with you android smartphone or tab
please guys reply if you like and if you get something from this tut
dhlalit11 said:
please guys reply if you like and if you get something from this tut
Click to expand...
Click to collapse
OK, Thank you very much for this quick tutorial. It's so useful for me
I think you should add it to your signature to point out it (I didn't notice it untill you had mentioned it in my topic).
I think also you may add some more commands for Updater-Script.
Q: Can I get input from user via CWM? ^_^
I don't like to update my sig with my mobile and am away from my computer from about 1 week don't know when I will update it
Nice.
It should give noobs a guide to modify roms to their liking instead of asking rom devs to remove this and add that,now they can edit the rom themselves and with rootexplorer do it all from your phone.
updated op, there was a mistake in show progress command please read it again
thank.. i found what i need
I finally found this tutorial, as I suspect, like copy-paste it in the same directory.
*sorry for my bad english*
what you want to copy and paste in the same directory
Very well written tutorial !!!. Was very easy to understand.
...
@dheeraj (dhlalit11)
This script is called "edify" script. This is just a suggestion because you have not mentioned it in your tutorial.
...
...
Is it possible to set properties of "build.prop" file from updater-script?. From terminal we can use "setprop" command, is there similar command that can be used in the updater-script. Or may be some busybox command i.e "run_program(...)" ???
you will need to create a script then create its flashable zip in updater-script first extract it to /tmp, make it executable then run it through run program command
awesome............
done editing
guys any fixing needed please reply
What is the difference between mount("yaffs2", "MTD", "system", "/system"); and run_program("/sbin/busybox", "mount", "/dev/block/mmcblk0p2", "/data"); ??
I am getting an error - mount() expects 3 args. got 4
Code:
assert(getprop("ro.product.device") == "beni" || getprop("ro.build.product") == "beni" || getprop("ro.product.board") == "beni" ||
getprop("ro.product.device") == "GT-S5670" || getprop("ro.build.product") == "GT-S5670" || getprop("ro.product.board") == "GT-S5670");
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
ui_print("Root for AOSP by harryhades");
ui_print("--------------------------------");
show_progress(0.100000, 0);
show_progress(0.500000, 0);
package_extract_dir("system", "/system");
set_perm(0, 0, 06755, "/system/xbin/sqlite3");
set_perm(0, 0, 06755, "/system/xbin/su-v1");
set_perm(0, 0, 06755, "/system/xbin/su-v2");
set_perm(0, 0, 06755, "/system/xbin/su-v3");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/sh");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
#unmount("/system");
P.S: what permssion should be set for the superuser binaries?? i am confused between 06755 and 04755
Harryhades said:
What is the difference between mount("yaffs2", "MTD", "system", "/system"); and run_program("/sbin/busybox", "mount", "/dev/block/mmcblk0p2", "/data"); ??
I am getting an error - mount() expects 3 args. got 4
Code:
assert(getprop("ro.product.device") == "beni" || getprop("ro.build.product") == "beni" || getprop("ro.product.board") == "beni" ||
getprop("ro.product.device") == "GT-S5670" || getprop("ro.build.product") == "GT-S5670" || getprop("ro.product.board") == "GT-S5670");
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
ui_print("Root for AOSP by harryhades");
ui_print("--------------------------------");
show_progress(0.100000, 0);
show_progress(0.500000, 0);
package_extract_dir("system", "/system");
set_perm(0, 0, 06755, "/system/xbin/sqlite3");
set_perm(0, 0, 06755, "/system/xbin/su-v1");
set_perm(0, 0, 06755, "/system/xbin/su-v2");
set_perm(0, 0, 06755, "/system/xbin/su-v3");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/sh");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
#unmount("/system");
P.S: what permssion should be set for the superuser binaries?? i am confused between 06755 and 04755
Click to expand...
Click to collapse
Just remove it n at last '#' is used for command line!!
from the first command remove the yaffs2
that busybox mount command will mount /data
the permission should be 06755
and also remove those getprop lines they are useless
Please tell permissions for frameworkres.apk
Sent from my GT-S5570 using xda premium
Im getting this error when trying to flash any zip files..
assert failed: getprop("ro.product.device") == "cooper" || getprop("ro.build.product") == "cooper" || getprop("ro.product.board") == "cooper" ||
getprop("ro.product.device") == "GT-S5830" || getprop("ro.build.product") == "GT-S5830" || getprop("ro.product.board") == "GT-S5830"
assert failed: getprop("ro.product.device") == "cooper" || getprop("ro.build.product") == "cooper" || getprop("ro.product.board") == "cooper" ||
getprop("ro.product.device") == "GT-S5830" || getprop("ro.build.product") == "GT-S5830" || getprop("ro.product.board") == "GT-S5830"
Click to expand...
Click to collapse
things i do before:
- flashing The Ultimatum ROM and edited the build.prop to change the density to 140..
- updating my recovery to CMW 6 and got these error..
what should i do??
please help..
EDIT :
Today it's getting worse, my phone is bootloop now, and i can't flash any zip files, so i can't use my phone at all...
so guys, how to fix it??
(yes, this is my first time posting a thread, sorry for my bad english and thank you for viewing)
What does the last line say it is usually something like status 7 or status x
Sent from my LG-D802 using xda app-developers app
lingarajug said:
What does the last line say it is usually something like status 7 or status x
Sent from my LG-D802 using xda app-developers app
Click to expand...
Click to collapse
yes, it says "Installer Error (Status 7)"
Maliivers said:
yes, it says "Installer Error (Status 7)"
Click to expand...
Click to collapse
2 options
1. Your sdcard is corrupted >>> back up your data and format it in fat32 file system (use an USB adapter e.g.)
2. The file downloaded is corrupted >>> try to download it again
I advise you to use CWM 5.0.2.6 Fixed insted of CWM 6.x... but... it should work too
Viper The Ripper said:
2 options
1. Your sdcard is corrupted >>> back up your data and format it in fat32 file system (use an USB adapter e.g.)
2. The file downloaded is corrupted >>> try to download it again
I advise you to use CWM 5.0.2.6 Fixed insted of CWM 6.x... but... it should work too
Click to expand...
Click to collapse
- already format my sdcard, still result in error
- already redownload, still error
i'm using CWM 6.0.4.6 and can't flash to CWM 5, because any zip files i flash will result in error.. (oh,except for aroma filemanager, but what can i do with that?)
edit updater.script from rom.zip meta inf folder.
its a problem wich happens on lots of devices.
simply remove the 1/3 first lines from assert and rezip the rom
Sent from my S500 using xda app-developers app
SpaceCaker said:
edit updater.script from rom.zip meta inf folder.
its a problem wich happens on lots of devices.
simply remove the 1/3 first lines from assert and rezip the rom
Sent from my S500 using xda app-developers app
Click to expand...
Click to collapse
hmm.. it looked like advanced tips.. haha
but i'll try, will post the result later
SpaceCaker said:
edit updater.script from rom.zip meta inf folder.
its a problem wich happens on lots of devices.
simply remove the 1/3 first lines from assert and rezip the rom
Sent from my S500 using xda app-developers app
Click to expand...
Click to collapse
WOAH, IT WORKED ! THANKS !
(just in case someone else face the same problem) so this is what i did:
edit updater.script in META-INF\com\google\android folder
it looked like this:
assert(getprop("ro.product.device") == "cooper" || getprop("ro.build.product") == "cooper" ||
getprop("ro.product.device") == "GT-S5830" || getprop("ro.build.product") == "GT-S5830");
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/stl12", "0", "/system");
mount("ext4", "EMMC", "/dev/block/stl12", "/system");
blahblahblah...
Click to expand...
Click to collapse
just delete this line on any zip:
assert(getprop("ro.product.device") == "cooper" || getprop("ro.build.product") == "cooper" ||
getprop("ro.product.device") == "GT-S5830" || getprop("ro.build.product") == "GT-S5830");
Click to expand...
Click to collapse
and you're done.
----------------------------------------------------------------------------------------------------
but, just for fulfill my curiosity, why this error can occur? i used the same zip file days ago and it worked just fine.
SpaceCaker said:
edit updater.script from rom.zip meta inf folder.
its a problem wich happens on lots of devices.
simply remove the 1/3 first lines from assert and rezip the rom
Sent from my S500 using xda app-developers app
Click to expand...
Click to collapse
Win!
Thanks, this worked a treat for me too. I'd installed the CWM 6.0.4.6 for the Gio so i could install KitKat and buggered up my phone, but this has fixed it.
Hi guys, please take a minute to help a fellow Sony fan out...
I managed to unlock bootloader via flashtool, root and install recovery as on istux's guide http://forum.xda-developers.com/showthread.php?t=2798411
But when I try to flash DirtyUnicorns_Unofficial_Tsubabsa_build2, it tells me..."This package is for LT25i Tsubasa devices; this is a mint."!
I don't know if this is related at all, but when I try to wipe the cache, it says "failed to unmount /cache"
Why does it think it is a "mint" (whatever that is) and how do I fix this?
From being stuck in recovery after wiping data, the only thing I can do is flash stock 4.3 FTF (9.2.A.2.5) again using flashtool. Is there a better way out of this?
swe.rider said:
Hi guys, please take a minute to help a fellow Sony fan out...
I managed to unlock bootloader via flashtool, root and install recovery as on istux's guide http://forum.xda-developers.com/showthread.php?t=2798411
But when I try to flash DirtyUnicorns_Unofficial_Tsubabsa_build2, it tells me..."This package is for LT25i Tsubasa devices; this is a mint."!
I don't know if this is related at all, but when I try to wipe the cache, it says "failed to unmount /cache"
Why does it think it is a "mint" (whatever that is) and how do I fix this?
From being stuck in recovery after wiping data, the only thing I can do is flash stock 4.3 FTF (9.2.A.2.5) again using flashtool. Is there a better way out of this?
Click to expand...
Click to collapse
If you're completely sure you're installing the correct ROM for your phone, then you need to use 7zip to open the ROM zip file (Open Archive) and navigate to "\META-INF\com\google\android\" and extract the "updater-script" file. Edit it with Notepad++ (or use Linux, do not use Windows notepad) and delete the first command:
Code:
assert(getprop("ro.product.device") == "lt29i" || getprop("ro.build.product") == "lt29i" ||
getprop("ro.product.device") == "hayabusa" || getprop("ro.build.product") == "hayabusa" ||
getprop("ro.product.device") == "LT29i" || getprop("ro.build.product") == "LT29i" || abort("This package is for \"lt29i,hayabusa,LT29i\" devices; this is a \"" + getprop("ro.product.device") + "\"."););
The example above is from a ROM for a TX. Yours should similar.
The first line of the script should start with:
Code:
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system");
Save the file and re-add it to the ROM zip file, replacing the previous updater-script, then you can connect your phone to your PC and use ADB to push the file back to the sdcard on the phone.
Also, if you only wiped /data, then you could just reboot, wait for Android to start up and copy the file normally. Then reboot back to recovery and reflash. On the other hand, if you wiped /system, ADB is your only option, unless you want to reflash a stock FTF.
I'm pretty sure this is because the command checks the phones build.prop to see if the device/product matches certain strings that identify your device, but apparently they don't always match.
Antiga Prime said:
If you're completely sure you're installing the correct ROM for your phone, then you need to use 7zip to open the ROM zip file (Open Archive) and navigate to "\META-INF\com\google\android\" and extract the "updater-script" file. Edit it with Notepad++ (or use Linux, do not use Windows notepad) and delete the first command:
Code:
assert(getprop("ro.product.device") == "lt29i" || getprop("ro.build.product") == "lt29i" ||
getprop("ro.product.device") == "hayabusa" || getprop("ro.build.product") == "hayabusa" ||
getprop("ro.product.device") == "LT29i" || getprop("ro.build.product") == "LT29i" || abort("This package is for \"lt29i,hayabusa,LT29i\" devices; this is a \"" + getprop("ro.product.device") + "\"."););
The example above is from a ROM for a TX. Yours should similar.
The first line of the script should start with:
Code:
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system");
Save the file and re-add it to the ROM zip file, replacing the previous updater-script, then you can connect your phone to your PC and use ADB to push the file back to the sdcard on the phone.
Also, if you only wiped /data, then you could just reboot, wait for Android to start up and copy the file normally. Then reboot back to recovery and reflash. On the other hand, if you wiped /system, ADB is your only option, unless you want to reflash a stock FTF.
I'm pretty sure this is because the command checks the phones build.prop to see if the device/product matches certain strings that identify your device, but apparently they don't always match.
Click to expand...
Click to collapse
Antiga, thank you very much, I actually succeeded by following your advice from post #10 here http://forum.xda-developers.com/showthread.php?t=2581336
I wiped everything but just restored a nandroid backup I made in recovery before wiping and that worked when i needed to copy different files after things went wrong with the flash.
Would there be any problem caused by not being able to unmount /cache during wiping?
swe.rider said:
Antiga, thank you very much, I actually succeeded by following your advice from post #10 here http://forum.xda-developers.com/showthread.php?t=2581336
I wiped everything but just restored a nandroid backup I made in recovery before wiping and that worked when i needed to copy different files after things went wrong with the flash.
Would there be any problem caused by not being able to unmount /cache during wiping?
Click to expand...
Click to collapse
You're welcome. It's happened to me before, never known why, but after flashing a different ROM you can always try wiping /cache again; it generally works.
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
I have h870, i unlocked its bootloader, installed twrp, then rooted it. I then tried to flash the pixel experience rom through twrp recovery, however its fails and gives error: this rom is for h870 lucye. Now the phone has no os and is stuck on lg g6 logo.
How can i fix this?
Reboot in recovery mode and try flashing another ROM (or if you have a backup of the previous one, try restoring backup)
5warafat1 said:
I have h870, i unlocked its bootloader, installed twrp, then rooted it. I then tried to flash the pixel experience rom through twrp recovery, however its fails and gives error: this rom is for h870 lucye. Now the phone has no os and is stuck on lg g6 logo.
How can i fix this?
Click to expand...
Click to collapse
don't use the official twrp, use orangefox recovery
To avoid the error, go into
(ROM ZIP)/META-INF/com/google/android/updater-script
and delete these lines
Code:
assert(getprop("ro.product.device") == "g6" || getprop("ro.build.product") == "g6" ||
getprop("ro.product.device") == "lucye" || getprop("ro.build.product") == "lucye" ||
getprop("ro.product.device") == "h870" || getprop("ro.build.product") == "h870" ||
abort("E3004: This package is for device: g6,lucye,h870; this device is " + getprop("ro.product.device") + "."););
or if you don't want to delete too much, just delete the "abort" line.
Hope this helps
Use orange recovery project and try flashing another ROM like havocOS.