[Sony Xperia P, U, Sola, Go] Min3r:
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 :D (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 :p

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 :D ) 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

These commands should be enough to get you started :D Ill post a few more tomorrow when Im properly awake.. Very sleepy now :( Sorry guys,, Will upload rest later :p 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 :P 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 :P Let me know if you guys want any more help :) Feel free to PM me anytime :) Cheers

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 ;)