I'd like to contribute for G2 beginner users from Latam., which mostly have D802 regional variants (like Brazil D805 or Argentina D806), and many of those have been asking me how to flash D802 roms.
Specially with the recent burst of Lollipop roms made available.
To clarify:
D805/6 is essentially the same hardware as D802 (same SoC (cpu), board, etc.), with some slight packaging and peripheral/radio variations.
Most software should work interchangeably, with exception of modem/baseband firmware.
However many ROMS fail to flash on those phones, because the dev. sometimes put validation code in the setup script, to ensure you're flashing the right version.
That script checks the phone model, and rejects D805/6.
To make your D802 rom flashable in your D805/6, unzip the following file in the rom zip:
Code:
\META-INF\com\google\android\updater-script
Edit it in a text editor, and look for a line in the beginning like:
Code:
assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || [. . . . . . ]
REMOVE that single line, save the file, and finally replace it in the same location of the zip, and you are ready to flash.
PLEASE MAKE FULLY SURE YOU ARE FLASHING A D802 ROM, AND THAT IT DOESN'T INCLUDE A MODEM
rodrigofd said:
I'd like to contribute for G2 beginner users from Latam., which mostly have D802 regional variants (like Brazil D805 or Argentina D806), and many of those have been asking me how to flash D802 roms.
Specially with the recent burst of Lollipop roms made available.
To clarify:
D805/6 is essentially the same hardware as D802 (same SoC (cpu), board, etc.), with some slight packaging and peripheral/radio variations.
Most software should work interchangeably, with exception of modem/baseband firmware.
However many ROMS fail to flash on those phones, because the dev. sometimes put validation code in the setup script, to ensure you're flashing the right version.
That script checks the phone model, and rejects D805/6.
To make your D802 rom flashable in your D805/6, unzip the following file in the rom zip:
Code:
\META-INF\com\google\android\updater-script
Edit it in a text editor, and look for a line in the beginning like:
Code:
assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || [. . . . . . ]
REMOVE that single line, save the file, and finally replace it in the same location of the zip, and you are ready to flash.
PLEASE MAKE FULLY SURE YOU ARE FLASHING A D802 ROM, AND THAT IT DOESN'T INCLUDE A MODEM
Click to expand...
Click to collapse
does this process support other models too?? like f320l? if not kindly tell pls how to thanks
tengo que borrar esto: assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || ?? lo que sigue [. . . .] no me figura nada....a que te referis con eso?
aromano91 said:
tengo que borrar esto: assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || ?? lo que sigue [. . . .] no me figura nada....a que te referis con eso?
Click to expand...
Click to collapse
Please write in english or we will be banned by the forum..
I mean that the exact line might vary from rom to rom, but the goal is to remove the entire line that begins with assert( .... )
rodrigofd said:
Please write in english or we will be banned by the forum..
I mean that the exact line might vary from rom to rom, but the goal is to remove the entire line that begins with assert( .... )
Click to expand...
Click to collapse
ok...for example these one take a look...
assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || getprop("ro.build.product") == "g2" || getprop("ro.product.device") == "galbi" || getprop("ro.build.product") == "galbi" || getprop("ro.product.device") == "d800" || getprop("ro.build.product") == "d800" || abort("This package is for device: d802,g2,galbi,d800; this device is " + getprop("ro.product.device") + ".");
if ! is_mounted("/system") then
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
endif;
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644);
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
if is_mounted("/data") then
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh");
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/tmp/otasigcheck.sh") == "0" || 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", "");
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh");
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/tmp/otasigcheck.sh") == "0" || 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");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
delete("/system/bin/otasigcheck.sh");
unmount("/system");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644);
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
unmount("/system");
show_progress(0.050000, 5);
show_progress(0.200000, 10);
package_extract_file("boot.img", "/tmp/boot.img");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
assert(run_program("/system/bin/loki.sh") == 0);
delete("/system/bin/loki.sh");
unmount("/system");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
ui_print(" \ ) ( )\ ) )\ ) ");
ui_print(" (()/ ( ( )\ ( (()/((()/( ");
ui_print(" (_)) ((_) (_)_) /((_)(_)) (_)) ");
ui_print(" | | (_) / _ \ (_))( |_ _| | \ ");
ui_print(" | |__ | || (_) || || | | | | |) | ");
ui_print(" |____||_| \__\_\ \_,_||___| |___/ ");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
ui_print(" <%%% Liquid-lollipop %%%> ");
ui_print(" <%%% By LiquidSmooth %%%> ");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
aromano91 said:
ok...for example these one take a look...
assert(getprop("ro.product.device") == "d802" || getprop("ro.build.product") == "d802" || getprop("ro.product.device") == "g2" || getprop("ro.build.product") == "g2" || getprop("ro.product.device") == "galbi" || getprop("ro.build.product") == "galbi" || getprop("ro.product.device") == "d800" || getprop("ro.build.product") == "d800" || abort("This package is for device: d802,g2,galbi,d800; this device is " + getprop("ro.product.device") + ".");
if ! is_mounted("/system") then
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
endif;
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644);
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
if is_mounted("/data") then
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh");
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/tmp/otasigcheck.sh") == "0" || 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", "");
package_extract_file("system/bin/otasigcheck.sh", "/tmp/otasigcheck.sh");
package_extract_file("META-INF/org/cyanogenmod/releasekey", "/tmp/releasekey");
set_metadata("/tmp/otasigcheck.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/tmp/otasigcheck.sh") == "0" || 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");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
delete("/system/bin/otasigcheck.sh");
unmount("/system");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644);
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
unmount("/system");
show_progress(0.050000, 5);
show_progress(0.200000, 10);
package_extract_file("boot.img", "/tmp/boot.img");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
assert(run_program("/system/bin/loki.sh") == 0);
delete("/system/bin/loki.sh");
unmount("/system");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
ui_print(" \ ) ( )\ ) )\ ) ");
ui_print(" (()/ ( ( )\ ( (()/((()/( ");
ui_print(" (_)) ((_) (_)_) /((_)(_)) (_)) ");
ui_print(" | | (_) / _ \ (_))( |_ _| | \ ");
ui_print(" | |__ | || (_) || || | | | | |) | ");
ui_print(" |____||_| \__\_\ \_,_||___| |___/ ");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
ui_print(" <%%% Liquid-lollipop %%%> ");
ui_print(" <%%% By LiquidSmooth %%%> ");
ui_print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
Click to expand...
Click to collapse
Remove the first line.
Your first line should then be:
if ! is_mounted("/system") then
I never had to modify a single line for my D806 to flash any of the 200(?) ROMs and variants I already tried. Just flashing any for D802 ROM/Kernel/Recovery (anything but the baseband) actually work.ed each time. For which ROM you had to modify the installer script for?
Regards
Floodland said:
I never had to modify a single line for my D806 to flash any of the 200(?) ROMs and variants I already tried. Just flashing any for D802 ROM/Kernel/Recovery (anything but the baseband) actually work.ed each time. For which ROM you had to modify the installer script for?
Regards
Click to expand...
Click to collapse
For flash D802 roms on D806.
Or just flash d802 recovery
Floodland said:
I never had to modify a single line for my D806 to flash any of the 200(?) ROMs and variants I already tried. Just flashing any for D802 ROM/Kernel/Recovery (anything but the baseband) actually work.ed each time. For which ROM you had to modify the installer script for?
Regards
Click to expand...
Click to collapse
There are indeed some roms that include that validation on their flash scripts... e.g. the sample in this thread is for LiquidSmooth rom series...
my question is if I install zip stock of 802? I have a D806
Sorry. Both Liquidsmooth both 3.2 and 4.0 install perfectly without modifications with the D802 build on our D806, the same at any other ROM which supports D802, except if they try to flash a baseband (I think none of the lastest 300 releases do that anyway). System, recovery and kernels are compatible. I did not dare to replace the bootloader with the latest one from D802, it should work as well, but I know it the boot loader is the phone Achilles heel, so I do not want to spend hours trying to revert something that already works.... As far as I know, there are no advantages in updating it either. I am happy pressing vol. down power to access recovery
Tip: D805 basebands do work for our D806. I do have better signal reception using Brazil modem in our sad networks.
is it possible to intall officail cm12.1 of d802 model in d805 ??
Related
Hello,
Sorry for my poor english, I try as much as possible.
I followed this tutorial on my Galaxy Nexus with the official ROM JB 4.2.2 and ubuntuTouch Saucy in 2nd ROM.
http://forum.xda-developers.com/showthread.php?t=2183721
I use the kernel lk_gnex_Hyuni_Dual_jb42_v.zip provided.
But when I boot ROM on the 2nd, I am running CyanogenMod logo loop (bootloop).
I have no CM ROM installed on my phone.
I download :
- saucy-preinstalled-touch-armel+maguro.zip
- saucy-preinstalled-touch-armhf.zip
- Kernel : http://www.4shared.com/zip/dE6mqokX/lk_gnex_Hyuni_Dual_jb42_v.html?
I fix install script :
- In "saucy-preinstalled-touch-armel+maguro.zip" i modified "/META-INF/com/google/android/updater-script" by
Code:
assert(getprop("ro.product.device") == "maguro" || getprop("ro.build.product") == "maguro");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/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);
[STRIKE]format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "0", "/system");[/STRIKE]
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/[B]cache[/B]", "/system");
package_extract_dir("system", "/system");
symlink("/factory/hdcp.keys", "/system/vendor/firmware/hdcp.keys"); ...
...
show_progress(0.200000, 10);
package_extract_file("boot.img", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");
show_progress(0.100000, 0);
ui_print("Fixing fs_size in crypto footer...");
assert(samsung.fs_size_fix());
unmount("/system");
- In "saucy-preinstalled-touch-armhf.zip" i modified "/META-INF/com/google/android/updater-script" by
Code:
ui_print("");
ui_print("Welcome to the Ubuntu RootFS Updater");
ui_print("");
show_progress(1.000000, 60);
ui_print("Mounting system and userdata partitions...");
[B]mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/cache", "/system");[/B]
[B]mount("ext4", "EMMC", "/dev/block/mmcblk0p12","/data");[/B]
set_progress(0.100000); ...
...
- Push files to my phone.
- Reboot in recovery with TWRP.
- Wipe cache.
- Install in the order saucy-preinstalled-touch-armel+maguro.zip & saucy-preinstalled-touch-armhf.zip.
- Install this kernel
- I reboot; 1st ROM ok; But the 2nd I have a sceen locked to CyanogenMod logo (instead of ubuntu).
Have you a answer? Thx
About the dual booting issue: post in that dev thread, better chances to get help IMO, since it's a specific issue; and you're seeing cyanogenmod boot anim because Ubuntu touch is based of it
a maguro wrote this.
bk201doesntexist said:
About the dual booting issue: post in that dev thread, better chances to get help IMO, since it's a specific issue; and you're seeing cyanogenmod boot anim because Ubuntu touch is based of it
a maguro wrote this.
Click to expand...
Click to collapse
Ok thank you.
I can't post to dev forum, because of newbie status of my account.
jelebi said:
Ok thank you.
I can't post to dev forum, because of newbie status of my account.
Click to expand...
Click to collapse
Engage in conversation with other xda members, ask pertinent questions in the right places, learn and help others learn or redirect them to the available resources, stickied on this forum.
a manta wrote this.
Downloaded Alpha 02/02 but when I try and install it I get:
This is for device: A001; this device is bacon.
Error executing binary in zip '/tmp/mr_update.zip'
Of course has to do with updater script.
I did download YoshiShaPow's unofficial and compared the two scripts and they are different.
My question, both below, can I just copy Yoshi's to PA and install PA that way. Yoshi's does do more but not exactly sure what.
Yoshi's:
assert(getprop("ro.product.device") == "bacon" || getprop("ro.build.product") == "bacon" || getprop("ro.product.device") == "A0001" || getprop("ro.build.product") == "A0001" || abort("This package is for device: bacon,A0001; this device is " + getprop("ro.product.device") + ".");
ifelse(is_mounted("/system"), unmount("/system"));
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", "");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/backuptool.functions", "uid", 0, "gid", 0, "mode", 0644);
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
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);
PA's:
assert(getprop("ro.product.device") == "A0001" || getprop("ro.build.product") == "A0001" || abort("This package is for device: A0001; this device is " + getprop("ro.product.device") + ".");
ifelse(is_mounted("/system"), unmount("/system"));
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.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
Why don't you just update your recovery, because that's what fixes your issue?
This has been covered in many places, one of which being the official bug tracker.
#stayparanoid
Pirateghost said:
Why don't you just update your recovery, because that's what fixes your issue?
This has been covered in many places, one of which being the official bug tracker.
#stayparanoid
Click to expand...
Click to collapse
Thanks, my recovery is twrp 2.8.4. using multirom version for the OnePlus. Yoshi's installs fine PA gives error that's why I am thinking in this case it's sript issue. Trying to resolve this bcz would like to use updated PA ROM Yoshi's are several updates behind recent PA.
Probably just me but my search through bug tracker should problems w/KitKat ROMs not much showing for Lollipop project.
Will have to search bit more here in XDA for resolution have to finish getting automobile back on the road for now.
silvagroup said:
Thanks, my recovery is twrp 2.8.4. using multirom version for the OnePlus. Yoshi's installs fine PA gives error that's why I am thinking in this case it's sript issue. Trying to resolve this bcz would like to use updated PA ROM Yoshi's are several updates behind recent PA.
Probably just me but my search through bug tracker should problems w/KitKat ROMs not much showing for Lollipop project.
Will have to search bit more here in XDA for resolution have to finish getting automobile back on the road for now.
Click to expand...
Click to collapse
The problem is MultiRom then.
if you want to bypass it, just remove the assert altogether, it isnt required.
FYI: all lollipop stuff is wrapped up in one section of the bug tracker:
https://paranoidandroid.atlassian.net/browse/AOSPALP
in particular the issue on recovery:
https://paranoidandroid.atlassian.net/browse/AOSPALP-32
Thanks.
For curiosities sake and better understanding if assert can be removed can't the A001 in the script also be changed to Bacon. Sorry for what are probably stupid questions but this is out of my current knowledge base.
Yes. You can do that too.
#stayparanoid
Yes thanks did it and it worked fine. Using PA right now.
silvagroup said:
Yes thanks did it and it worked fine. Using PA right now.
Click to expand...
Click to collapse
Hello, sorry for my noob question, but what did you do to fix the problem?
I got the exact same problem now..
I tried the ''MultiROM Uninstaller'' - didn't work.
I tried reflashing TWRP - didn't work.
If you could make a step by step guide, I will be veryy greatful
TheDechev said:
Hello, sorry for my noob question, but what did you do to fix the problem?
I got the exact same problem now..
I tried the ''MultiROM Uninstaller'' - didn't work.
I tried reflashing TWRP - didn't work.
If you could make a step by step guide, I will be veryy greatful
Click to expand...
Click to collapse
A. Get rid of multirom and use straight TWRP
Or
B. Edit the updater script in the ROM to remove the assert line. (There are lots of tutorials out there for this)
#stayparanoid
TheDechev said:
Hello, sorry for my noob question, but what did you do to fix the problem?
I got the exact same problem now..
I tried the ''MultiROM Uninstaller'' - didn't work.
I tried reflashing TWRP - didn't work.
If you could make a step by step guide, I will be veryy greatful
Click to expand...
Click to collapse
Really easy, just change every instance of A0001 in PA updater script to bacon and your ready to rock and roll.
Hi guys, I'm going to show you how to port Lineage 14.1 Samsung S4 I9506 to E330 SKL Korean Edition,
LineageOS is a free, community built, aftermarket firmware distribution of Android 7.x (Nougat), which is designed to increase performance and reliability over stock Android for your device.
Click to expand...
Click to collapse
Download Step
First, you need to download notepad++, the Lineage rom in the orignal post, also don't forget to download Google apps (OpenGapps).
Pre-Flash Step
After downloading the rom, open it, then browse to META-INF/com/google/android, extract "updater-script" file then open the extracted file with Notepad++, Replace "ks01ltexx" with:
"ks01lteskt" if your phone is E330S
"ks01ltektt" if your phone is E330K
"ks01ltelgt" if your phone is E330L
Example: E330S update-script file:
Code:
assert(getprop("ro.product.device") == "ks01lte" || getprop("ro.build.product") == "ks01lte" || getprop("ro.product.device") == "ks01lteskt" || getprop("ro.build.product") == "ks01lteskt" || getprop("ro.product.device") == "GT-I9506" || getprop("ro.build.product") == "GT-I9506" || abort("E3004: This package is for device: ks01lte,ks01lteskt,GT-I9506; this device is " + getprop("ro.product.device") + ".");); ui_print("Target: samsung/ks01lteskt/ks01lte:5.0.1/LRX22C/I9506XXUDPG2:user/release-keys"); 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 package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey"); 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("f2fs", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", ""); package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey"); 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); ui_print("Patching system image unconditionally..."); block_image_update("/dev/block/platform/msm_sdcc.1/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.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); set_progress(1.000000);
Note: You need to check which version in TWRP recovery if it is E330L or E330S or E330K not in about phone menu!
Now, you need to reformat the file to prevent any CWM errors, in Notepad++, go to Edit Menu>EOL Conversion> Convert to UNIX Format. Edit Menu again, Blank Operations> Remove Unbecessary Blank and EOL. Edit Menu>Blank Operation>TAB To Space.
Then save the file and put it in the archive again (replace the old one). Go back to the main directory then go to system folder, extract build.prop and replace ks01ltexx with the suitable version as explained before. save it, replace the old one with the edited one.
Flash Step
All you have to do is to follow the instructions in the original post.
Note: Do not flash Modem/Bootloader !
{
"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"
}
PixelExperience for Coolpad Cool1 [c103/c106]
What is this?
Pixel Experience is an AOSP based ROM, with Google apps included and all Pixel goodies (launcher, wallpapers, icons, fonts, bootanimation)
Our mission is to offer the maximum possible stability and security, along with essential and useful features for the proper functioning of the device
Based on Android 9.0
Whats working?
Wifi
RIL
Mobile data
GPS
Camera
Flashlight
Camcorder
Bluetooth
FMRadio
Fingerprint reader
Lights
Sound / vibration
Facelock
Known issues
Nothing
DON'T FLASH GAPPS, ALREADY INCLUDED
Download Here(Regular)
Download Here(PLUS EDITION)
Donate
Liked my work? Give me a beer
Stay tuned
Our Telegram channel
Our blog
Android OS version: 9.0.0_r46
Security patch level: SEPTEMBER 2019
Build author/Device Maintainer: arnabpal025
Device Source code: Coolpad Cool1
ROM Developer: jhenrique09
SOLVED............My device is C103 running 18s eui.Getting error 7 in TWRP.is it necessary to format data before flashing?if it need to change in updater script then what to change ?here is the updater script..........
assert(getprop("ro.product.device") == "c106" || getprop("ro.build.product") == "c106" ||
getprop("ro.product.device") == "C106" || getprop("ro.build.product") == "C106" ||
getprop("ro.product.device") == "c103" || getprop("ro.build.product") == "c103" ||
getprop("ro.product.device") == "C103" || getprop("ro.build.product") == "C103" ||
getprop("ro.product.device") == "cool_c1" || getprop("ro.build.product") == "cool_c1" ||
getprop("ro.product.device") == "le_c106" || getprop("ro.build.product") == "le_c106" ||
getprop("ro.product.device") == "aosp_c106" || getprop("ro.build.product") == "aosp_c106" || abort("E3004: This package is for device: c106,C106,c103,C103,cool_c1,le_c106,aosp_c106; this device is " + getprop("ro.product.device") + ".");
ui_print("Target: Letv/c106_WW/le_c106_ww:6.0.1/IIXOSOP5801910121S/44:user/release-keys");
ifelse(is_mounted("/system"), unmount("/system"));
ui_print("----------------------------------------------");
ui_print(" Pixel Experience");
ui_print(" by jhenrique09");
ui_print("----------------------------------------------");
ui_print(" Android version: 9");
ui_print(" Build id: PQ3A.190705.003");
ui_print(" Build date: 20190812-1437");
ui_print(" Security patch: 2019-07-05");
ui_print(" Device: c106");
ui_print("----------------------------------------------");
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", "/system");
unmount("/system");
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.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore", "/system");
unmount("/system");
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);
nageswarswain said:
SOLVED............My device is C103 running 18s eui.Getting error 7 in TWRP.is it necessary to format data before flashing?if it need to change in updater script then what to change ?here is the updater script..........
assert(getprop("ro.product.device") == "c106" || getprop("ro.build.product") == "c106" ||
getprop("ro.product.device") == "C106" || getprop("ro.build.product") == "C106" ||
getprop("ro.product.device") == "c103" || getprop("ro.build.product") == "c103" ||
getprop("ro.product.device") == "C103" || getprop("ro.build.product") == "C103" ||
getprop("ro.product.device") == "cool_c1" || getprop("ro.build.product") == "cool_c1" ||
getprop("ro.product.device") == "le_c106" || getprop("ro.build.product") == "le_c106" ||
getprop("ro.product.device") == "aosp_c106" || getprop("ro.build.product") == "aosp_c106" || abort("E3004: This package is for device: c106,C106,c103,C103,cool_c1,le_c106,aosp_c106; this device is " + getprop("ro.product.device") + ".");
ui_print("Target: Letv/c106_WW/le_c106_ww:6.0.1/IIXOSOP5801910121S/44:user/release-keys");
ifelse(is_mounted("/system"), unmount("/system"));
ui_print("----------------------------------------------");
ui_print(" Pixel Experience");
ui_print(" by jhenrique09");
ui_print("----------------------------------------------");
ui_print(" Android version: 9");
ui_print(" Build id: PQ3A.190705.003");
ui_print(" Build date: 20190812-1437");
ui_print(" Security patch: 2019-07-05");
ui_print(" Device: c106");
ui_print("----------------------------------------------");
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", "/system");
unmount("/system");
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.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "");
run_program("/tmp/install/bin/backuptool.sh", "restore", "/system");
unmount("/system");
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);
Click to expand...
Click to collapse
Remove the first statement " assert(getprop ... .... ) + "."); " from the updater script and save. From Twrp take back up of partitions including data if needed and do advanced wipe. Also format data and then flash the pixel rom with the new updater script.
Do anyone have problem with No Sound on c103?
Youtube or any sound apps doesnt have sound.
gamerx159 said:
Do anyone have problem with No Sound on c103?
Youtube or any sound apps doesnt have sound.
Click to expand...
Click to collapse
I have c103 board id 0x04. Sound works here.
Join here t.me/TheCool1Journey for further help.
gamerx159 said:
Do anyone have problem with No Sound on c103?
Youtube or any sound apps doesnt have sound.
Click to expand...
Click to collapse
Apply Sound patch https://drive.google.com/file/d/1-KJ...w?usp=drivesdk
Credit :- Venom (4pda)
Plus edition update [ 06 sept ]
Change Log : https://del.dog/ufebukuzot
C106 problem, fingerprint doesn't work. It start acquiring but it stops on first segment of the circle. is there any solution?
Google drive link not working
Quick question relating to the rom aspect of things. Does anyone have an updater-script with rw access i.e. with the (mantis) roms? I'm compiling an OTA patched rom with no success. Constant ever ending boot loops unless I were to modify the updater-script. Here's the code down below for the (mantis) if someone would like to convert to (sheldon) for modified roms
Code:
(getprop("ro.product.device") == "mantis" || getprop("ro.build.product") == "mantis") || abort("This package is for \"mantis\" devices
this is a \"" + getprop("ro.product.device") + "\".");
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
ui_print("Copying system image...");
block_image_update("/dev/block/platform/soc/11230000.mmc/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
ui_print("Copying vendor image...");
block_image_update("/dev/block/platform/soc/11230000.mmc/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat");
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
delete("/system/bin/efuse_check.sh",
"/system/bin/ewriter");
unmount("/system");
ui_print("Updating TZ...");
package_extract_file("images/tz.img", "/dev/block/platform/soc/11230000.mmc/by-name/tee1_real");
package_extract_file("images/tz.img", "/dev/block/platform/soc/11230000.mmc/by-name/tee2_real");
ui_print("Copying kernel...");
package_extract_file("boot.img", "/dev/block/platform/soc/11230000.mmc/by-name/boot");
package_extract_dir("magisk", "/dev/tmp/install");
set_metadata("/dev/tmp/install/install-magisk.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/dev/tmp/install/install-magisk.sh");
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
run_program("/sbin/mkdir", "/system/addon.d");
run_program("/tmp/backuptool.sh", "restore");
unmount("/system");
Skel40 said:
Quick question relating to the rom aspect of things. Does anyone have an updater-script with rw access i.e. with the (mantis) roms? I'm compiling an OTA patched rom with no success. Constant ever ending boot loops unless I were to modify the updater-script. Here's the code down below for the (mantis) if someone would like to convert to (sheldon) for modified roms
Code:
(getprop("ro.product.device") == "mantis" || getprop("ro.build.product") == "mantis") || abort("This package is for \"mantis\" devices
this is a \"" + getprop("ro.product.device") + "\".");
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp");
set_metadata("/tmp/backuptool.sh", "uid", 0, "gid", 0, "mode", 0755);
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
ui_print("Copying system image...");
block_image_update("/dev/block/platform/soc/11230000.mmc/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
ui_print("Copying vendor image...");
block_image_update("/dev/block/platform/soc/11230000.mmc/by-name/vendor", package_extract_file("vendor.transfer.list"), "vendor.new.dat", "vendor.patch.dat");
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
delete("/system/bin/efuse_check.sh",
"/system/bin/ewriter");
unmount("/system");
ui_print("Updating TZ...");
package_extract_file("images/tz.img", "/dev/block/platform/soc/11230000.mmc/by-name/tee1_real");
package_extract_file("images/tz.img", "/dev/block/platform/soc/11230000.mmc/by-name/tee2_real");
ui_print("Copying kernel...");
package_extract_file("boot.img", "/dev/block/platform/soc/11230000.mmc/by-name/boot");
package_extract_dir("magisk", "/dev/tmp/install");
set_metadata("/dev/tmp/install/install-magisk.sh", "uid", 0, "gid", 0, "mode", 0755);
run_program("/dev/tmp/install/install-magisk.sh");
mount("ext4", "EMMC", "/dev/block/platform/soc/11230000.mmc/by-name/system", "/system", "");
run_program("/sbin/mkdir", "/system/addon.d");
run_program("/tmp/backuptool.sh", "restore");
unmount("/system");
Click to expand...
Click to collapse
What have you modified on the ROM?
SweenWolf said:
What have you modified on the ROM?
Click to expand...
Click to collapse
The OTA patches like the (mantis) to bypass updating
Skel40 said:
The OTA patches like the (mantis) to bypass updating
Click to expand...
Click to collapse
This update script should also work for sheldon, what files are you transplanting, maybe they are incompatible. Check Logs. I think you should never use official updator-script anyways.
can you test these patches on PS7273 (2622), for Sheldon/p
make sure you delete original odex and vdex files of these after replacing.
and also wipe cache / Dalvik cache just to be on safe side.
Changes:
Accessibility Services for 3rd party apps re-enabled.
Package protection is disabled.