Related
A couple of people asked me how to create a CWM Flashable zip so I thought Id make a quick guide for it Firstly, I've provided a quick runthough of making such a zip. Secondly, I've given a quick brief of the Edify Scripting Language which is used to make flashable zips
And finally, Ill include a sample zip with detailed instructions of how it works
I. Creating your CWM flashable zip
Tools Required
1) Archiving tool (WinZip/WinRAR)
2) Unix based text editor (Anything for Linux Users, Notepad++ recommended for Windows users ) DO NOT use Notepad or Wordpad.
3) Good eyesight (Important to catch small typing mistakes lol )
How To
First, we create a new folder where we are gonna put all our files. Let that be ROM
Inside it, we gotta create this new Folder META-INF
Here's how the file Structure of META-INF is going to look like
META-INF
-->com
------>google
---------->android
-------------->update-binary
-------------->updater-script
The names colored in Blue are files while the others are folders. Just create the folders as per the Layout I just posted.
Now, you must be wondering about the two fines in question ?
The first file, update-binary is a binary file which performs all the actions of the CWM Flashable zip. There are loads of binaries each with their own properties and syntaxes. Ill show some of the common variations of the syntaxes next to the command.
I've attached a binary that works fine with Xperia phones. Just unrar the file and keep it in the directory as I said . You might need another for another rom though
The second and most important file of all is the updater-script. Note that it has no file extension. However, it can be edited like a normal textfile using Notepad++. This file will determine all the commands to be performed by the CWM zip. So here's where the commands go.. Ill explain the commands at the end of this. The commands are in a language called Edify. Google can give some hints of usage if nothing else
Note : The Encoding of this updater-script should be ANSI and the EOL formatting should be Unix. Otherwise, Flash will fail with a Status 6 Error. If you get a Status Error 7, either the update binary is out of date( Unlikely) or you made a logical error.
After typing out all the commands, Click the Save As. Make sure to select "Any type" for Filetype to save as,then give the name updater-script.
After this, we proceed to add any files we want to flash to the zip. The updater-script is in charge of what file goes where.etc so if you understand how to do that properly, you're pretty much ready to make the files
Now, after adding all the files you want, we select the folders META-INF and all the other folders/files present in ROM (without the folder ROM itself) and create a ZIP Archive with *Compression Ratio set to STORE*.. That is very important. Dont make any edits,etc..
After making that zip,we now need to sign it to get CWM or any other recovery to flash it.Im including a zip that contains two files for Signing zip files. Rename your created zip to a.zip and place it in the same directory as the two files from Sign.zip.. Run Sign.bat and a new file update.zip If you open it, you'll notice 3 new files in the META-INF folder (This is the sign created for CWM to verify ) And voila, now you have your own CWM flashable zip
II. Creating the Updater-Script using Edify
Now, we have to look into writing the updater-script to write the commands to be performed The Edify Language has all its commands separated by Semicolons. Presence of extra spaces or Newlines between two commands is not considered. With that said, I think we can start with a list of Commands Note: All address starting with a '/' are in Phone's system and not the zip file.
I've included a list of the commands you'll probably need
Command: ui_print()
Example: ui_print("My Name is Sam!");
Explanation: As expected this command writes the line "My Name is Sam! " and shows it as output when this line is encountered in CWM. Can also support concatenation of strings ie, ui_print("My Name is" + "Sam"); is equally valid and same output.
Command: showprogress()
Example: showprogress(0.6, 10);
Explanation: This command will set the fraction of Progress Bar Filled to the first parameter specified in the time in seconds given as second parameter. eg, if previously, ProgressBar was 30%(0.3) filled, running that command would cause the Progress bar to slowly fill up so that when 10 seconds pass, The total percent filled is 60% (0.6) and ProgressBar stops filling up after that till another Progress statement is encountered.I read somewhere that using two digits of precision,ie 0.85.etc can cause errors so be wary.
Command: setprogress()
Example: setprogress(0.6);
Explanation: This command can be used to set the value of the Progressbar Instantaneously. However, note that the value of progress completed given (ie, 0.6) is less than or equal to the amount specified in the previous show_progress() command.
Command: unmount()
Example: unmount("/cache");
Explanation: Unmounts the partition marked at the address given in file. Always unmount your partitions before your script exists.. Its just plain etiquette
Command: format()
Example: format("ext4", "EMMC", "/dev/block/mmcblk0p11"); or format("ext4", "EMMC", "/dev/block/mmcblk0p11", "0");
Explanation: First major command to vary with update-binary. Make sure you use the right command based on the binary or you'll get an error when you flash via CWM. First part denotes partition type,2nd is EMMC for most phones, Ithink ? (Please Confirm) and 3rd is the partition to be wiped. To be honest, I have no clue what the "0" does but thats the way I got it working. Always unmount a partition first before formatting. *ALWAYS*
Command: mount()
Example: mount("ext4", "EMMC", "/dev/block/mmcblk0p10", "/system");
Explanation: Mounts the partition in /dev/block/mmcblk0p10 as /system with filetype ext4 and Type EMMC. Similarly, you can mount data with mmcblkop11, and cache with mmcblkop12. This might vary with update-binary files but it works fine on the one I uploaded When you need to make an edit to Phone's Files, you need to mount the partition first. Its preferable to mount in this manner as opposed to using busybox because this method is universal whereas when busybox is missing or misconfigured, you get Errors and its not easy to resolve.
Command: delete()
Example: delete("system/app/YourApp.apk", "/system/app/a.apk");
Explanation: Simply deletes whichever files are specified in the parameters. Supports unlimited parameters. Do NOT use with folders. And make sure that in the example, System is mounted first so that it can delete the file correctly. No error is shown if file is missing or couldnt be deleted !
Command: delete_recursive()
Example: delete_recursive("/system/app");
Explanation: Deletes all the files in the specified folders and also the folders themselves. Accepts multiple arguements. See delete() for more details.
Command: package_extract_dir()
Example: package_extract_dir("system", "/system");
Explanation: Extracts the contents of the folder system in zip to the directory of /system in phone.
Command: package_extract_file()
Example: package_extract_dir("system/app/a.apk", "/system/app/anew.apk");
Explanation: Extracts the file specified in zip to the directory of /system/app in phone and names new file as anew.apk in Example..
Command: set_perm()
Example: set_perm(0, 2000, 0777, "/system/etc/init.d/1script", "/system/app/12.apk");
Explanation: Sets the permission of the files specified as 777 with uid as 0 and gid as 2000. Google for Android User ids and Group Ids to get more clues. Supports multiple files. In example, 2 files are given.
Command: set_perm_recursive()
Example: set_perm_recursive(0, 2000, 0777, 0644, "Dir1", "Dir2");
Explanation: Sets the permission of all files in Dir1,Dir2.etc as 0644 (recursively searches Folders and subfolders for files) And sets 0777 as permission for folders (Checked Recursively).. uid will be 0 and gid 2000 in example.
Click to expand...
Click to collapse
These commands should be enough to get you started Ill post a few more tomorrow when Im properly awake.. Very sleepy now Sorry guys,, Will upload rest later And try to open a rom or two and take a peak at updater-script Should give you a good idea until I upload my sample file as well Cheers Gn
This concludes Part 2 of the Guide. Finally Finished Part III Sorry For Dealy
III. An Example Of A Working Updater-Script with functions explained.
For the sample, we'll go through my installer Script for the Xperiance Rom Series Addon Package. Its not much to go on, but sometimes, editing someone else's finished work makes it alot easier to learn yourself Let me know if you guys want any more help Feel free to PM me anytime Cheers
####
#Your Stylish Intro Never forget it
####
ui_print(" ");
ui_print(" ");
ui_print("==============================================");
ui_print("| Xperiance Lite v1.0 |");
ui_print("==============================================");
ui_print("| Xperiance Lite By Min3r |");
ui_print("| Xperia U ST25i |");
ui_print("| Working On 6.1.1.[B.1.10/B.1.54/C.1.10] |");
ui_print("|********************************************|");
ui_print("| Addons Pack |");
ui_print("|********************************************|");
ui_print("| AC!D Audio Engine by Team AC!D |");
ui_print("| Cybershot Experience 4.7 by Rizal Lovins |");
ui_print("| InfiniteView Mod by reaper61616 |");
ui_print("| Jellybean 4.2 Keyboard |");
ui_print("| Xperia T Statusbar by destroyy |");
ui_print("==============================================");
ui_print("Flashing in Progress.....");
ui_print(" ");
ui_print(" ");
#Mount System & Data
mount("ext4", "EMMC", "/dev/block/mmcblk0p10", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p11", "/data");
#Copying all the Directories
package_extract_dir("system", "/system");
#Setting Required Permissions
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/beatsbass");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/beatsnormal");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_beatbox_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_beats_wireless_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_gec");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_gec_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_htc_earbud");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_htc_midtier");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_solo");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_solo_v2");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_v2");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/load_mg_driver");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/load_sony_driver");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-audio-acdb-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-audio-native-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/pm_snd");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/snd");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/sound");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/sound8960");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/xaplay");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/snd3254");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/10acidmod");
set_perm(1000, 1000, 0644, "/system/app/SystemUI.apk");
set_perm_recursive(1000, 1000, 0777, 0777, "/system/app/SystemUI.apk");
set_perm(1000, 1000, 0644, "/system/app/QuickPanelSettings.apk");
set_perm_recursive(1000, 1000, 0777, 0777, "/system/app/QuickPanelSettings");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-gs-camctrl-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQStrMgrTest");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQUnitTest");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQVideoRendererTestApp");
ui_print(" ");
ui_print(" ");
#Wiping Dalvik Cache
delete_recursive("/data/dalvik-cache");
#Unmounting
unmount("/system");
unmount("/cache");
Click to expand...
Click to collapse
Making this guide took me the better part of 2 hours so please take the 5 seconds necessary to hit the Thanks button to remind me my work isnt for naught
Changelog
29/12 : Added Sample Script & Rearranged commands in order of the natural order in which they are likely to be used
Created : 27/12
Most wanted for me
Sent from my Xperia U using Forum Runner
drsanket_xperia_u said:
Most wanted for me
Sent from my Xperia U using Forum Runner
Click to expand...
Click to collapse
Sorry for delay bro.. I managed to get net working temporarily but the speed is low, huge lag at times and frequent disconnecting.. It took me over 3 tries to just make the thread :/ Requests keep timing out
Impressive. Thx.
Explanations r really helpful
This is some awesome guide. Always wanted it
---------- Post added at 03:22 PM ---------- Previous post was at 03:21 PM ----------
drsanket_xperia_u said:
Most wanted for me
Sent from my Xperia U using Forum Runner
Click to expand...
Click to collapse
Me too
Why not busybox mount?
Hit
{
"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"
}
For keep up my Developing!!
That question came to my mind too first time I saw this usage ;P It took me a while to guess the answer (This is my own derived answer.. If any experienced devs know better, please enlighten us all )
There are loads of busybox binaries and not all are fully compatible with our phones. So why create a dependency on them when we have an inbuilt function to do the same ?
Plus, the obvious fact that we are limiting usage to just 1 binary instead of calling up busybox as well should be sufficient Hope it helps
Cheers
This is a great guide.
You mentioned the update-binary is good for 2012 xperia line up, would this include xperia t (LT30a).
can i put this in my zip file, or do i need to sign it with the sign.rar?
Again Thanks.
Glad you liked it mate Several ppl asked me at the same time so I thought it would be better if I made a guide so everyone can use it I hope I can complete it soon.. Keep getting interrupted at hostel when I try to make
And yes, it should work But in case it doesnt, just get a binary from any of the zips for custom roms there Also, I believe signing is based mostly on the script not binary so shouldnt be necessary. But as a precaution, Id advice you do it all the same to avoid issues You can resign an edited zip (without deleting the old certificates.etc )
Sample Script added And if you have any doubts about how a specific script works, feel free to post here or message me
And Ill see about adding more advanced function in future updates for Advanced users ;D
Great work bro..!!
Earlier i used to do it without knowing what i was doing
Now i know what i am doing Thanks a lot..!!
Can u please explain a lil more on busybox and binary thing?? I didn't get it... :silly:
Busybox is a binary which adds alot of unix shell commands to Android. Unfortuntately, not all Busybox binaries (versions of a software,kinda ) work without bugs, and some are incompatible with some phones.. So the less you depend on busybox for your operations, The more likely it is to work properly Plus, if update-binary works, then you can be sure that mounting can work fine
Thanks mate
Wow, Thanks for the GUIDE man... :good: for ya +1
Thanks
Sent from my GT-S5570 using xda app-developers app
it will be great if there is a video tutorial
Sent from my Xperia U using xda premium
To be honest, I don't think it will be necessary but If enough people are interested, Ill try making one, next week Till then, if you have any doubts, Feel free to PM me anytime
hello min3r broo wow finally I gonna learn about updater-script
thanks for these tut
reading now...:angel:
Great information pal,can you please try to post an easy and friendly tutorial explaining what all changes are to be done in framework.jar,services.jar etc while porting a rom to make it boot..this would be really be of great help..
i tried to create an update.zip to install my apps when i flash a rom.
first i got a status 2 error -- solved it. (dont remember how)
then got a status 6 error -- solved it by changing EOL to unix based
now i am getting status 7 error
this is my updater-script
show_progress(0.1, 0);
ui_print("DATA FLASH");
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
set_perm_recursive(0, 0, 0755, 0644, "data/app");
show_progress(0.1, 10);
unmount("/userdata");
is it because the commands are wrong? (i copied them directly)
if so how to modify
Phone- Xperia mini pro sk17i
EDIT: tying other mount commands now, will update - run_program("/sbin/busybox", "mount", "/data");
IT WORKED:victory:
sorry for creating a dud-thread
Please help ...
I need to create a zip file flashlable
system / app
SystemUI.apk
Phone.apk
HtcDialer.apk
and another app
..............
/ framework
com.htc.resources.apk
framework-res.apk
here only those
my working
Hi
Ashle said:
Please help ...
I need to create a zip file flashlable
system / app
SystemUI.apk
Phone.apk
HtcDialer.apk
and another app
..............
/ framework
com.htc.resources.apk
framework-res.apk
here only those
my working
Click to expand...
Click to collapse
If you are only using System apks, then there is a Play Store App for that.
App2Zip
Search it.
I need to create a system app updater script and the framework / framework-res.apk, com.htc.resources.apk
My not working
mount("MTD", "system", "/system");
ui_print("started. . . .");
ui_print("flashable zip");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/cache");
package_extract_dir("system", "/system");
delete("/system/app/HtcContacts.odex");
delete("/system/app/HtcContactWidgets.odex");
delete("/system/app/HtcDialer.odex");
delete("/system/app/Phone.odex");
delete("/system/app/SystemUI.odex");
delete("/system/framework/com.htc.resources.odex");
delete("/system/framework/framework-res.odex");
set_perm(0, 0, 0644, "/system/framework/framework-res.apk");
set_perm(0, 0, 0644, "/system/framework/com.htc.resources.apk");
unmount("/system");
unmount("/cache");
unmount("/data");
ui_print("Done. Reboot!");
Click to expand...
Click to collapse
Ashle said:
I need to create a system app updater script and the framework / framework-res.apk, com.htc.resources.apk
My not working
Click to expand...
Click to collapse
1. mount("MTD", "system", "/system"); is wrong for DX as DX is using EMMC instead of MTD
The correct one is mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system");
2. You don't need mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system"); when you have run_program("/sbin/busybox", "mount", "/system");
3. There is no such thing as com.htc.resources.odex and framework-res.odex as there is no smali in these files
4. You don't need set_perm(0, 0, 0644, for system/app and system/framework
5. Why do you want to delete those odex files ? Most of the time, a stock odex ROM will not boot when you mix with deodexed files because the boothclass is broken
ckpv5 said:
1. mount("MTD", "system", "/system"); is wrong for DX as DX is using EMMC instead of MTD
The correct one is mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system");
2. You don't need mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system"); when you have run_program("/sbin/busybox", "mount", "/system");
3. There is no such thing as com.htc.resources.odex and framework-res.odex as there is no smali in these files
4. You don't need set_perm(0, 0, 0644, for system/app and system/framework
5. Why do you want to delete those odex files ? Most of the time, a stock odex ROM will not boot when you mix with deodexed files because the boothclass is broken
Click to expand...
Click to collapse
Yes .... :thumbup: :thumbup:
Edit SuperSense5 rom...
Change battery icon not working...
Icon wifi,data......,icon picture call contact,frame,....ok
Sent from my HTC Desire X using xda app-developers app
Hi all! I want to show you how to create custom rom based on stock lg firmware and stock rom ready to install by recovery
1. Making stock rom ready to install by recovery
1. Download latest LG KK Firmware KDZ: IS HERE
PASSWORD: firmware-lg-d620r-poland-62010
then this programme:
this: Click!
2. Run KDZ Extractor and open kdz (downloaded file) in it.
3. Click extract KDZ
4. Open extracted DZ file, wait and then click on merge system bin (you must check every file in programme)
5. Now you have some more files, look on:
-system.img
and
-boot_327680.bin (rename it to boot.img)
-cust_704512.bin (rename it to cust.bin)
6. Download attach file: attach file is here
7. Make some folder on your disc and put there META-INF folder (which you downloaded), system.img, boot.img and cust.bin.
8. Make zip package by 7zip.
9. Now you have ready zip package, you can install it by moded-Recovery.
2. Making custom rom based on stock
1. Make all points from first tutorial to 5*
2. Download here
3. Open system file in downloaded programme and save what you want.
4. Download "META-INF for custom":
Here
Example:
Code:
[B]Your text here[/B]
ui_print("*****************************");
ui_print("* Your mod *");
ui_print("*****************************");
ui_print("* for LG G2M *");
ui_print("*****************************");
ui_print("First part of installation...");
run_program("/sbin/mount", "/system");
run_program("/sbin/busybox","mount","/data");
[B]Delete system folder, in example you see "media" folder[/B]
delete_recursive("/system/media");
package_extract_dir("system", "/system");
mount("ext2", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("../xbin/busybox", "/system/bin/busybox");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
ui_print("Second part of installation...");
[B]About deleting apps, for example Books apk and odex file[/B]
delete("/system/app/Books.apk");
delete("/system/app/Books.odex");
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/priv-app");
ui_print("Please wait... ");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
unmount("/system");
ui_print("Clearing cache");
delete_recursive("/data/dalvik-cache");
ui_print("Now UnMounting partitions");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
show_progress(0.1, 0);
[B]Last words for ending intsallation[/B]
ui_print("*******************************");
ui_print("* Thank you! *");
ui_print("*******************************");
show_progress(0.1, 10);
If you want add kernel installation put boot.img to your folder and add to your script this command:
Code:
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
*** NEW UPDATER-SCRIPT, WITH FORMATING SYSTEM AND CLEAN INSTALLATION:
here!
FOR EDITING UPDATER SCRIPT ETC USE ALWAYS NOTEPAD++ (NotepadPP)
HOMEPAGE of N++
Thats all
great work
:good:
WYPIERDAALAAC said:
Hi all! I want to show you how to create custom rom based on stock lg firmware and stock rom ready to install by recovery
1. Making stock rom ready to install by recovery
1. Download latest LG KK Firmware KDZ: CLICK
then this programme:
this: Click!
2. Run KDZ Extractor and open kdz (downloaded file) in it.
3. Click extract KDZ
4. Open extracted DZ file, wait and then click on merge system bin (you must check every file in programme)
5. Now you have some more files, look on:
-system.img
and
-boot_327680.bin (rename it to boot.img)
-cust_704512.bin (rename it to cust.bin)
6. Download attach file: attach file is here
7. Make some folder on your disc and put there META-INF folder (which you downloaded), system.img, boot.img and cust.bin.
8. Make zip package by 7zip.
9. Now you have ready zip package, you can install it by moded-Recovery.
2. Making custom rom based on stock
1. Make all points from first tutorial to 5*
2. Download here
3. Open system file in downloaded programme and save what you want.
4. Download "META-INF for custom":
Here
Example:
Code:
[B]Your text here[/B]
ui_print("*****************************");
ui_print("* Your mod *");
ui_print("*****************************");
ui_print("* for LG G2M *");
ui_print("*****************************");
ui_print("First part of installation...");
run_program("/sbin/mount", "/system");
run_program("/sbin/busybox","mount","/data");
[B]Delete system folder, in example you see "media" folder[/B]
delete_recursive("/system/media");
package_extract_dir("system", "/system");
mount("ext2", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("../xbin/busybox", "/system/bin/busybox");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
ui_print("Second part of installation...");
[B]About deleting apps, for example Books apk and odex file[/B]
delete("/system/app/Books.apk");
delete("/system/app/Books.odex");
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/priv-app");
ui_print("Please wait... ");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
unmount("/system");
ui_print("Clearing cache");
delete_recursive("/data/dalvik-cache");
ui_print("Now UnMounting partitions");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
show_progress(0.1, 0);
[B]Last words for ending intsallation[/B]
ui_print("*******************************");
ui_print("* Thank you! *");
ui_print("*******************************");
show_progress(0.1, 10);
If you want add kernel installation put boot.img to your folder and add to your script this command:
Code:
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
Thats all
Click to expand...
Click to collapse
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Tse™ said:
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Click to expand...
Click to collapse
why not maybe it will help someone back from cm to stock
question: would it be possible to copy the part of the stock of sw Gps CM12? I'm fine with CM12 but GPS signal ... dancer stock with stable signal
WYPIERDAALAAC said:
why not maybe it will help someone back from cm to stock
Click to expand...
Click to collapse
Ok! I am uploading!
Just tell if this is for d620 or d61*
Sent from my D620fr [SlimKat]
D620R V10J unbranded. Here is the link until i get 10 posts and i am able to open a thread.
https://www.dropbox.com/s/xv3ftorno1208en/V10j_D620R.zip?dl=0
Tse™ said:
D620R V10J unbranded. Here is the link until i get 10 posts and i am able to open a thread.
https://www.dropbox.com/s/xv3ftorno1208en/V10j_D620R.zip?dl=0
Click to expand...
Click to collapse
Just add the link in this thread :good:
Sent from my D620fr [SlimKat]
Already done! I think I'll start playing a bit with the ROM .
baggino said:
question: would it be possible to copy the part of the stock of sw Gps CM12? I'm fine with CM12 but GPS signal ... dancer stock with stable signal
Click to expand...
Click to collapse
You can use gps file from stock to cm12, below link:
WYPIERDAALAAC said:
You can use gps file from stock to cm12, below link:
Click to expand...
Click to collapse
Now I try it immediately and tell you how it works. If it works well, as you might do for Rom Resurrection Remix
stability is improved but still less the stock. I'd like to try the Resurrection_remix - but I do not know how to copy ...
baggino said:
stability is improved but still less the stock. I'd like to try the Resurrection_remix - but I do not know how to copy ...
Click to expand...
Click to collapse
system\etc\gps.conf it's here
copy it from Resurrection_remix to your ROM and set permission.
PS.: THREAD UPDATED
Just want to know if this method is compatible with D722....and if yes is the meta inf too?????
Thank so. ..
Is there a way to root ROM before flash?
WYPIERDAALAAC said:
PS.: THREAD UPDATED
Click to expand...
Click to collapse
How to add root directly in the created zip ? ???
rayman95 said:
How to add root directly in the created zip ? ???
Click to expand...
Click to collapse
you must write commands in script for that, tell me if it's good:
link for supersu https://download.chainfire.eu/696/SuperSU/UPDATE-SuperSU-v2.46.zip and put to tmp/supersu folder
Code:
set_progress(0.700000);
ui_print("Rooting...");
package_extract_dir("PACKAGENAME/supersu", "/tmp/supersu");
run_program("/sbin/busybox", "unzip", "/tmp/supersu/UPDATE-SuperSU-v2.46.zip", "META-INF/com/google/android/*", "-d", "/tmp/supersu");
run_program("/sbin/busybox", "sh", "/tmp/supersu/META-INF/com/google/android/update-binary", "dummy", "1", "/tmp/supersu/UPDATE-SuperSU-v2.46.zip");
run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");
set_progress(0.800000);
Tse™ said:
Very good tutorial !
I made a flashable v10j ! I can upload it if anyone is interested.
Click to expand...
Click to collapse
Thanks!
i cant find the system.img.
these files are D62020a00.kdz,
Nello just found this tweak on a s4 rom, credit to the owner.
In my 6p I get super fluid and smooth UI, like iPhone. Try it, just download and flash it in recovery
I took in exam google plus app, that have supe scrolling lag. After this tweaks lag is gone, and 60 FPS while scrolling, to test it just open the worst lag scrolling app that you have, enjoy
I made a flashable zip, just flash it in recovery and you are good to go
Works great for me. I can tell that things load faster when it first boots up too.
Any impact on battery?
fedef12evo said:
Then reboot, and pur correct permissions to build.proprio
Click to expand...
Click to collapse
What does this even mean?
Works great! No problems at all. Need time to see how it affects battery life.
---------- Post added at 07:53 AM ---------- Previous post was at 07:51 AM ----------
hoseth0711 said:
What does this even mean?
Click to expand...
Click to collapse
Then reboot, put correct permissions to build.prop properly?
The Frustrated Indian said:
Works great! No problems at all. Need time to see how it affects battery life.
---------- Post added at 07:53 AM ---------- Previous post was at 07:51 AM ----------
Then reboot, put correct permissions to build.prop properly?
Click to expand...
Click to collapse
Thanks. So this is what it should look like, right?
Interesting. Listening in, what base you're using it on?
Skickat från min iPhone med Tapatalk
Nothing happens on 7.1.1 dp. Placebo.
I'm using it in cm14.1 official, and I can tell scrolling is super smooth after these tweaks, going to put screen soon for battery
I thnk if this mode enabled it will break CPU setting specially if we use governor profile. But i feel different after applied this mod,smooth scrolling :laugh:
It seems like it work on Nexus 7 2013
I can confirm no impact on battery life
I'm always skeptical about these prop mod's.....so of course I tried this and my stock rooted 7.1.1 DP runs just a slick as any AOSP rom I have run. Can't believe this worked.
Yea it actually works very good
fedef12evo said:
I made a flashable zip, just flash it in recovery and you are good to go
Click to expand...
Click to collapse
So when you say just flash it, you mean. Just flash it..? lol
Sorry for the noob question. I'm not the greatest at changing permissions and all that sorcery.
fedef12evo said:
I made a flashable zip, just flash it in recovery and you are good to go
Click to expand...
Click to collapse
Does this effect any other build.prop edits that you have made?
idbl_fanatic said:
Does this effect any other build.prop edits that you have made?
Click to expand...
Click to collapse
No, it just adds the text to the bottom of your build.prop
The OP took someone else's mod.zip and editted for his needs. Here's the update-script in the zip
Code:
ui_print("***********************************************");
ui_print(" Mod for Android");
ui_print("***********************************************");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 15);
package_extract_dir("system", "/system");
package_extract_file("add_to_buildprop.sh", "/tmp/add_to_buildprop.sh");
set_perm(0, 0, 0755, "/tmp/add_to_buildprop.sh");
run_program("/tmp/add_to_buildprop.sh");
ui_print("Copying Scripts...");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/01config");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/02tweaks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/03filesystems");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/04zipalign");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/05databases");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/06cputweaks");
set_progress(0.4);
show_progress(1, 15);
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/boot");
show_progress(0.200000, 10);
package_extract_file("recovery.img", "/dev/block/platform/msm_sdcc.1/by-name/recovery");
show_progress(0.100000, 0);
run_program("/sbin/busybox", "umount", "/system");
show_progress(1, 15);
run_program("/sbin/busybox", "mount", "/data");
package_extract_dir("data", "/data");
run_program("/sbin/busybox", "umount", "/data");
ui_print("Installation complete!");
add_to_buildprop.sh is the only file he has in the zip, so you can see he copy/pasted someone else's mod zip file with all those actions being taken on non-existent files.
And for those who want to know what build.prop changes it makes here are the lines being added to the bulid.prop:
persist.sys.dalvik.hyperthreading=true
# System Properties
cpu.fps=auto
gpu.fps=auto
# CPU & GPU Properties
ro.sys.cpu.defaultfreq=auto
ro.sys.gpu.defaultfreq=auto
I doubt any of these properties actually exist in the code. The first line.. hyperthreading? That's a proprietary name/technology owned by Intel. Somehow I seriously doubt it's being using in Android code.
Phone is super smooth with cm14.1 now
Thanks
Let's see how this goes...
EDIT: System indeed seems more fluid.