Jump to content


Photo

How to create a flashable zip for CWM

- - - - -

  • Please log in to reply
9 replies to this topic

#1
XpressAndy

XpressAndy

    Enthusiast

  • Members
  • PipPipPip
  • 159 posts
  • Gender:Male
  • Devices:Samsung Galaxy SII I9100
If I modify my framework-res.apk or any other files, how do I create flashable zip with cwm?

And while compiling the framework-res.apk with apk manager, it basically ask two questions:

Is this a system file (y/n)?

Do you want to include the files that were not changed by you (y/n)?

I guess answer for first one would be yes. What option to choose for second question?

Thanks :)

  • 0

#2
t0mm13b

t0mm13b

    Hardcore

  • MoDaCo Silver
  • PipPipPipPipPipPip
  • 1,784 posts
  • Gender:Male
  • Location:Ireland
  • Devices:GT-S8500,Zte Blade,SE ST15i
  • Twitter:@t0mm13b
To create the flashable cwm script you need to add the META-INF directory. To illustrate below, after copying the META-INF structure and the relevant binary 'update-binary', all is needed is, to create the script 'update-script' which will reside in the same place as the binary.

Suppose your working directory is like this
MyFlashableCWM/
    |
    +- META-INF/
    |     |
    |     +- com/
    |         |
    |         + google/
    |             |
    |             +- android/
    |                   |
    |                   + update-binary
    |                   |
    |                   + updater-script
    |
    +- system/
         |
         +- lib/
             |
             + modules/

Let's take the above as an example, and to go with the example, you want to add a file into the system/lib, this corresponds to the android filesystem used. So you could have 'etc' in the structure, 'usr' and so on.

The real meat is in the updater-script that has some functions which you will have to dig up, I enclose an example of a script that flashes a boot.img and replaces the system/lib/modules directory also

Here's an example of an updater-script:
ui_print("Welcome to MyFlashableCWM!");
mount("yaffs2", "MTD", "system", "/system");
delete_recursive("/system/lib/modules");
ui_print("cleaned /system/lib/modules");
package_extract_dir("system", "/system");

//... NEED TO REPLACE WITH WHATEVER YOU WANT TO DO HERE

unmount("/system");
ui_print("Please reboot!");

That script will print out a message via 'ui_print', the crucial aspect is the 'mount' command which can be a bit tricky, for data as in /data it would be this
mount("yaffs2", "MTD", "data" "/data");

The order of the mount is important, whatever gets mounted first, second and so on, would have to be unmounted in the reverse order, i.e. second mount, first mount.

Have a look in the CyanogenMod's repo, in there, you will see this directory bootable/recovery/edify, there's source in there that shows the instructions that are used for the 'updater-script'

:)

Edited by t0mm13b, 11 August 2011 - 10:14 AM.

  • 1
try{ not_laugh; }catch{ FAIL; }finally{ laugh; }

#3
XpressAndy

XpressAndy

    Enthusiast

  • Members
  • PipPipPip
  • 159 posts
  • Gender:Male
  • Devices:Samsung Galaxy SII I9100
Thanks a lot mate for such a detailed response :)

I will try this at home and will let you know of the progress. :)

  • 0

#4
sm4tik

sm4tik

    Addict

  • Members
  • PipPipPipPipPip
  • 508 posts
  • Gender:Male
  • Location:Jyväskylä
  • Devices:Blade

Have a look in the CyanogenMod's repo, in there, you will see this directory bootable/recovery/edify, there's source in there that shows the instructions that are used for the 'updater-script'

..and you're telling this now, after browsing through the whole internet for some documentation :blink:
Thanks :)

  • 0

#5
t0mm13b

t0mm13b

    Hardcore

  • MoDaCo Silver
  • PipPipPipPipPipPip
  • 1,784 posts
  • Gender:Male
  • Location:Ireland
  • Devices:GT-S8500,Zte Blade,SE ST15i
  • Twitter:@t0mm13b

..and you're telling this now, after browsing through the whole internet for some documentation :blink:
Thanks :)


I'll dig around and see if I can find a useful linky to save you from browsing through the source... remember - the scripts that are used now are edify which is supported with clockworkmod 3.x.x and greater, the older clockworkmod 2.x.x.x uses amend scripting which is different in some respects...

:)

  • 0
try{ not_laugh; }catch{ FAIL; }finally{ laugh; }

#6
t0mm13b

t0mm13b

    Hardcore

  • MoDaCo Silver
  • PipPipPipPipPipPip
  • 1,784 posts
  • Gender:Male
  • Location:Ireland
  • Devices:GT-S8500,Zte Blade,SE ST15i
  • Twitter:@t0mm13b
Here's the direct linky to the source that I was referring to.

You may gain some insight from looking at the comments... uhmmm... I do remember posting about clockwork mod scripting here on modaco a while back...

  • 0
try{ not_laugh; }catch{ FAIL; }finally{ laugh; }

#7
sej7278

sej7278

    Hardcore

  • Members
  • PipPipPipPipPipPip
  • 1,647 posts
  • Gender:Male
  • Devices:ZTE Blade

..and you're telling this now, after browsing through the whole internet for some documentation :blink:
Thanks :)


yes the documentation stinks, or more accurately, doesn't exist! its essentially grok the source or copy what others have done and hope it works.

try this too: https://github.com/k...ngerbread/edify

oddly enough there is plenty over on xda about amend scripting, but almost nothing up-to-date (edify).

here is a kind of tutorial i did, well more notes on how i made the libaudio zip a while back, but it also covers signing and where to find update-binary.

here i've uploaded a couple of old signed zips you can look at

Edited by sej7278, 11 August 2011 - 10:10 PM.

  • 0

#8
Basher51

Basher51

    Newbie

  • Members
  • Pip
  • 2 posts

I don't understand one thing.Why is no one explaining how to create/ get the update-binary.There is so little discussion about it on the net. Is update-binary file specific to each device/OS?  For the above example,from where do we get the update-binary file??


  • 0

#9
Lucas Dracul

Lucas Dracul

    Newbie

  • Members
  • Pip
  • 17 posts
  • Gender:Male
  • Devices:Orange sanfrancisco/ ZTE blade
  • Twitter:@Lucas_Dracul
Hey how do I fix error status7?....I know its the updater script bit can't realy pin point it

  • 0

#10
killadroid

killadroid

    Enthusiast

  • Members
  • PipPipPip
  • 208 posts
just copy paste from other flashable roms

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users