How to make a update.zip help!!!!!!!!!!!!! - Hero, G2 Touch General

i want to know the easiest way to make a update.zip

asad510 said:
i want to know the easiest way to make a update.zip
Click to expand...
Click to collapse
I am not sure how "easy" it is, but here goes:
Well basically an update.zip is a zip! use your favorite zip program to open/edit/compress it.
When flashing through the recovery the META-INF\com\google\android\update-script from the zip file is run.
Try to look at update scripts of existing updates to learn how to use it. You can also look here: http://forum.xda-developers.com/showthread.php?t=641223
Finally, recovery won't flash zips which have not been signed. You need to sign it with the testkey.
I don't remember where I got the procedure from (probably somewhere here on the forums) - but using the files from here:
http://www.multiupload.com/0GB7Y94BGD
You need to run something like this:
Code:
java -jar signapk.jar testkey.x509.pem testkey.pk8 x.zip x_signed.zip
which will sign x.zip and create x_signed.zip.
Note that the zipalign in the above package is not relevant in this case.

Related

Quick rom customization question

Im trying to add some ringtones and apps into one of my favorite roms so things will be a little easier when Im testing out other roms...I think the new zip file I make though needs to be signed. Can anyone point me into the right direction??
Amon_RA said:
You can get any custom ROM working on your Rogers Magic and basically on every HTC branded Magic around. If you like to "port" a custom Google-branded ROM to a HTC-branded ROM follow these steps :
- I assume that you have basic Linux knowledge and that you know how to set up your own environment and tools, unpack gz files and cpio them etc...
- Download these tools. They contain the JesusFreke's SignApp, William Enck's splitboot using my recompiled mkbootimg-H binary (including the HTC branded offsets), and a repack pearl script.
Now the actually work :
1. Get the boot.img and recovery.img from your original HTC branded Magic (fastboot my recovery image and use nandroid for this).
2. unpack the boot.img and recovery.img using unpack-H.pl.
3. move both kernels somewhere save, you'll need them later.
4. Download the google branded custom ROM you want to port, most of the custom ROMs come in the form of a update.zip file.
5. Extract the boot.img and recovery.img (if there is one) from the update.zip.
6. unpack the boot.img and recovery.img (same as step 2).
7. replace both kernels with the ones you saved previously in step 3.
8. repack boot boot.img and recovery.img using repack-H.pl
9. copy both boot.img and recovery.img in the update.zip package making sure you overwrite the existing ones inside with the new ones.
10. Sign the update.zip file with SignApp (see readme inside rar).
11. Copy the update.zip file to your SDcard.
12. fastboot my recovery image and choose data wipe and then update.
13. reboot
Good luck
Click to expand...
Click to collapse
This is where I get confused at. I read this "Usage:
java -jar signapk.jar testkey.x509.pem testkey.pk8 <update.zip> <update_signed.zip>" But I dont know how to do that...Im using OSX right now is there any way to do it or do I need linux?
Can anyone give me some advice??
Here is everything you need to know:
http://forum.xda-developers.com/showthread.php?t=473580
(A search would have found you the answer faster than I did...)
betelgeuse74 said:
Here is everything you need to know:
http://forum.xda-developers.com/showthread.php?t=473580
(A search would have found you the answer faster than I did...)
Click to expand...
Click to collapse
Agreed
But at least he made the effort unlike some!

Error after sign Zip Files. "Can't find update script"

I followed each one of your steps. I get an error when trying to install the signed zip. "Can't find update script" Can anyone please help me with this.
thank you
I'm doing option 2. I get it signed just get an error "Can't find update script"
This quick guide will teach you how to sign ROMs!
WARNING : YOU WILL NEED AT LEAST A BASE KNOWLEDGE OF HOW TO USE COMMAND PROMPT.
The knowledge of signing ROMs can prove useful to anyone! By knowing how to sign ROMs, you can modify your favorite ROM to add or delete APKs, so when you flash the ROM your favorite apps will be present! Or you can delete apps you don't use so they will not be installed when flashing the ROM!
Before starting, you need a couple of things. First you will need Java SE Development Kit and Java SE Runtime Environment . You can download them HERE.
After you have downloaded and installed both, you will need a very useful tool made by someone at XDA-Developers (if you know who it is please let me know).
Download this tool (attached) and unzip everything inside of it into one common folder. I personally unzipped everything into my Android SDK folder.
Signing
Now run the autosign.bat. You will have to go through commands 1(Set PATH variable for SDK) ,2 (Set CLASSPATH variable for signing tool) and 3 (Install registry entries). They are very easy to use and just follow the instructions. If you are asked to confirm and/or replace a file, always select yes!
Now you are finally ready to sign! There are two options to sign the .zip
1)Find the ROM (.zip) and right click and select "Resign Zip". If you use this option a command prompt box should quickly appear and disappear.
OR
2) Using the Autosign.bat, select option 4, and then write the directory and file name of the ROM. For example,
D:\Android\ROMs\YourROMHere.zip
It will hang for a bit at the part where it says "signing", and then it should say something along the lines of "Successfully completed if no errors above"
If this helped you, comment below!
http://androidforums.com/developer-101/8665-how-signing-roms.html
Anyone...... I know someone knows
You have to zip the contents of the rom, not the rom itself. i.e. if you sign the rom folder, it will be ROM_Signed.zip->ROM->system/data/metainf... you get the picture. Go into the folder you want to zip and then sign, select the contents, and zip them. It will then be ROM_Signed.zip->/system/data/metainf. Then just sign it.
update-script is a script that tells the flash utility what to do. It is located in the zip as part of the following directory structure:
META-INF/com/google/android
The contents can vary. For Darktremor A2SD 2.6.1, here's the contents:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
PACKAGE is used by android to reference the actual zip file, or package file.
SYSTEM is used to represent /system
DATA is used to represent /data
CACHE is used to represent /cache
BOOT is used to represent the boot partition (which is where you flash boot.img)
RECOVERY is used to represent the recovery partition. Never actually seen this used. I guess it used for an update.zip that you would flash via fastboot.
The zip file has to be structured in the same way as the file system on your phone. If you want to install something to, say, /system/bin, you must have a system folder, which in turn has a bin folder.
What I would do is take one of the available ROMs and unzip it. Then look for their update-script. Usually ROM packages are more detailed in the update-script.
If you don't have update-script in your zip file, the flash utility in recovery won't know what to do.
networx2002 said:
I followed each one of your steps. I get an error when trying to install the signed zip. "Can't find update script" Can anyone please help me with this.
thank you
I'm doing option 2. I get it signed just get an error "Can't find update script"
This quick guide will teach you how to sign ROMs!
WARNING : YOU WILL NEED AT LEAST A BASE KNOWLEDGE OF HOW TO USE COMMAND PROMPT.
The knowledge of signing ROMs can prove useful to anyone! By knowing how to sign ROMs, you can modify your favorite ROM to add or delete APKs, so when you flash the ROM your favorite apps will be present! Or you can delete apps you don't use so they will not be installed when flashing the ROM!
Before starting, you need a couple of things. First you will need Java SE Development Kit and Java SE Runtime Environment . You can download them HERE.
After you have downloaded and installed both, you will need a very useful tool made by someone at XDA-Developers (if you know who it is please let me know).
Download this tool (attached) and unzip everything inside of it into one common folder. I personally unzipped everything into my Android SDK folder.
Signing
Now run the autosign.bat. You will have to go through commands 1(Set PATH variable for SDK) ,2 (Set CLASSPATH variable for signing tool) and 3 (Install registry entries). They are very easy to use and just follow the instructions. If you are asked to confirm and/or replace a file, always select yes!
Now you are finally ready to sign! There are two options to sign the .zip
1)Find the ROM (.zip) and right click and select "Resign Zip". If you use this option a command prompt box should quickly appear and disappear.
OR
2) Using the Autosign.bat, select option 4, and then write the directory and file name of the ROM. For example,
D:\Android\ROMs\YourROMHere.zip
It will hang for a bit at the part where it says "signing", and then it should say something along the lines of "Successfully completed if no errors above"
If this helped you, comment below!
http://androidforums.com/developer-101/8665-how-signing-roms.html
Click to expand...
Click to collapse
HeroMeng said:
You have to zip the contents of the rom, not the rom itself. i.e. if you sign the rom folder, it will be ROM_Signed.zip->ROM->system/data/metainf... you get the picture. Go into the folder you want to zip and then sign, select the contents, and zip them. It will then be ROM_Signed.zip->/system/data/metainf. Then just sign it.
Click to expand...
Click to collapse
It took my brain a min, but i got it.
Thanks

Trying to make an update.zip for Titanium Backup... what's wrong ?

Hi all,
I'm trying to make an update.zip for users to install my app easily in recovery mode. It sounds trivial, and should basically just copy the apk into /data/app/.
Before I sign it, the zip contains (as shown by "unzip -t"):
Code:
data/app/com.keramidas.TitaniumBackup.apk
META-INF/com/google/android/update-script/update-script
The update-script is as follows:
Code:
show_progress 0.1 0
copy_dir PACKAGE:data DATA:
show_progress 0.1 10
Then I signed the update.zip with:
jarsigner -verbose -keystore my_keystore update.zip my_key
When I launch:
jarsigner -verify update.zip
I get "jar verified".
But in Clockwork recovery, my update.zip does not work - and signature verification is disabled, afaik.
EDIT: I have uploaded the update.zip there:
http://matrixrewriter.com/android/files/update.zip
Any ideas ?
Thanx in advance for any help
joel.bourquard said:
Hi all,
I'm trying to make an update.zip for users to install my app easily in recovery mode. It sounds trivial, and should basically just copy the apk into /data/app/.
Before I sign it, the zip contains (as shown by "unzip -t"):
Code:
data/app/com.keramidas.TitaniumBackup.apk
META-INF/com/google/android/update-script/update-script
The update-script is as follows:
Code:
show_progress 0.1 0
copy_dir PACKAGE:data DATA:
show_progress 0.1 10
Then I signed the update.zip with:
jarsigner -verbose -keystore my_keystore update.zip my_key
When I launch:
jarsigner -verify update.zip
I get "jar verified".
But in Clockwork recovery, my update.zip does not work - and signature verification is disabled, afaik.
EDIT: I have uploaded the update.zip there:
http://matrixrewriter.com/android/files/update.zip
Any ideas ?
Thanx in advance for any help
Click to expand...
Click to collapse
Hey Joel
Just curious has this been sorted yet? I would love a .zip so I can flash it after a new ROM when I don't have data.
FHL09 said:
Hey Joel
Just curious has this been sorted yet? I would love a .zip so I can flash it after a new ROM when I don't have data.
Click to expand...
Click to collapse
Hi dear Androlute overlord
Unfortunately no, I haven't got any hint on how to fix the zip file. Looking forward to having a working file!
I tweeted about it today, so I'm hoping someone will help...
Thanks
It's okay, the zip file works now. The update-script was misplaced
Hi Joel,
DO we have to sign the zip file created or would it be possible for your app to sign the file?
Thanks NSCXP2005
nscxp2005 said:
Hi Joel,
DO we have to sign the zip file created or would it be possible for your app to sign the file?
Thanks NSCXP2005
Click to expand...
Click to collapse
Hi,
The generated zip files are not signed - sorry.
I would love to incorporate the necessary signing code into my app, but unfortunately the signapk tool seems to require several Sun-only crypto classes, which don't exist on Android. If you know of a java implementation that can sign a zip file without using these Sun-only imports, please let me know and (as long as it's in the public domain) I'd be glad to include it in my app.
Thanks!
ok, Thanks.
Could you tell me how to sign the Update.zip that has been created by your app?
nscxp2005 said:
ok, Thanks.
Could you tell me how to sign the Update.zip that has been created by your app?
Click to expand...
Click to collapse
I have never really done it (or succeeded to do it), to be honest.
You need to use the "signapk" tool. I tried with Sun's standard "jarsigner" tool that comes with the JDK, but it wasn't considered as properly signed by the recovery image I have (Clockwork).
If you have more success than me, please let me know...
ok, thanks Joe, I hope you manage to find a way to sign the update.zip in the future.
Keep up the great work!!
EDIT Joel, I finally managed to flash your app in Recovery!!
Go here and look at the Update Maker made by DMzda
Update Maker
I hope you manage to implement this in to your update generator
I hope this helps
All the best
NSCXP2005

[Q] Couple of questions about ROM development

Hello!
First of all, thanks to all you repliers!
I'd really like to know a few things creating a ROM:
1. how can I create an update.zip starting from a system.img? (I know how to sign) In case can I simply install the img and then push /system changes, like root or busybox?
2. how can I install busybox manually? Can I create a script which does the job for me (i.e. busybox --install command at first boot then delete the script itself), avoiding me to write loads of symlinks?
3. when I've created an update.zip, is it easy to root the ROM? I mean, just push su and SuperUser.apk? Or I need a particular boot.img?
Thanks
elegos said:
Hello!
First of all, thanks to all you repliers!
I'd really like to know a few things creating a ROM:
1. how can I create an update.zip starting from a system.img? (I know how to sign) In case can I simply install the img and then push /system changes, like root or busybox?
Click to expand...
Click to collapse
Clockwork Recovery won't install system image files for some reason. You'll need to dump the yaffs2 filesystem then zip it up into the update.zip, then use an updater-script to set unix permissions (zip doesn't preserve these). Also, there's no need to sign the update.zip. It's only meaningful to the device's firmware if it is signed by the device's manufacturer.
elegos said:
Hello!
2. how can I install busybox manually? Can I create a script which does the job for me (i.e. busybox --install command at first boot then delete the script itself), avoiding me to write loads of symlinks?
Click to expand...
Click to collapse
Certainly. You can add a script and call it from updater-script during the install.
elegos said:
Hello!
3. when I've created an update.zip, is it easy to root the ROM? I mean, just push su and SuperUser.apk? Or I need a particular boot.img?
Thanks
Click to expand...
Click to collapse
Boot image is irrelevant to a properly rooted system. Just adding SuperUser should be sufficient.
That's cool!
1. as of the system.img, I see there is a system folder too - is that just enought zipping it?
2. may you please tell me how to call a script within an edify updater-script please?
3. thanks
I don't understand. You have a system.img and a system folder? In what? What are you starting from? If you use a zipped system, you WILL need to set unix permissions, symlinks and modes as these are NOT preserved in a zip file.
As far as calling scripts, something like this:
run_program PACKAGE:installbusybox.sh

[UPDATE 22/08/12] ROM Cooking Guide (One Package)

This is how I made ROM, I'll try to write the steps as simple as I can. For advanced users only!
Update 22/08/11:
Revised packaging steps.
Update 13/08/11:
Removed unwanted method for ROM cooking.
Update 04/08/11:
Modified extract and repack ROM guide and added extracting system.rfs guide.
Things you need:
Base firmware
Archiver software (7zip recommended)
Any Linux environment to build ROM or Cygwin
APK Manager to optimize and decompile *.apk files
MagicISO (Optional) if you want to extract system.rfs
And the last thing is... You need enough experience in android world
So, here is the steps to cook a ROM:
Flash your phone with your desired base firmware
Make required modifications
Pull system.rfs from your phone by running this command on adb shell or Terminal Emulator:
Code:
dd if=/dev/stl12 of=/sdcard/system.rfs
Extract any *.tar.md5 files from your base firmware to your working folder with 7zip
Replace the current system.rfs with your modified one
EDIT: Pack your ROM by running this code via terminal or just pack it with 7zip/WinRAR as *.tar
Code:
tar -H ustar -c * >> ROMNAME.tar
change ROMNAME to your desired, well, ROM name.
Here is (yet) useful guide to modify your ROM.
Extract system files on system.rfs to make modding easier:
Extract PDA file (*.tar.md5) files with 7zip
Open system.rfs with MagicISO
To extract it, just drag and drop
NOTE: Never edit your ROM with MagicISO because the file permissions will be ignored, use MagicISO only for extracting files from system.rfs
Deodex, and Zipalign (optimize) your ROM apk files:
Ready to use deodex + root for KPN: http://forum.xda-developers.com/showthread.php?t=1196230
Ready to use deodex + root for KPH and other firmware: http://forum.xda-developers.com/showthread.php?t=1118048
Open APK Manager
To zipalign your apk files, in apk manager folder /place-apk-here-to-batch-optimize put your:
framework-res.apk, twframework-res.apk and all system apk
but not these:
AxT9IME, Calculator, Camera, Email, MMS, Phone, Screen Capture, Settings, Swype, Thinkdroid, Voice search
Choose Choose option 15
Then choose both (zp)
Let it run and done.
Now put back the apk files where they belong in the ROM.
How to put these apk files to my ROM? Copy these files to appropriate locations, such as /system/app to your ROM's /system/app, and etc.
Another handy modification guide:
Unpack and repack boot.img - http://forum.xda-developers.com/showthread.php?t=1173427
Convert firmware filesystem to ext4 - http://forum.xda-developers.com/showthread.php?t=1202049
Overscroll glow for any firmware - http://forum.xda-developers.com/showthread.php?t=1215933"
Give thanks to all dev who made that possible!
If you have more guides to put here, please PM me.
Am I pertamax?
hehe..just kidding.
Nice Info....great share.
I would want the Fla.sh Rom :'(
Thats a gr8 share...Thank you...)
saiftheboss7 said:
I would want the Fla.sh Rom :'(
Click to expand...
Click to collapse
sorry... once again, I'm sorry, I can't continue my ROM
Helpful thread man!
Thanks!
Great job taking your time to make this! Unfortunately, i dont even know the basics but now I know where to check when I do
fla.sh said:
sorry... once again, I'm sorry, I can't continue my ROM
Click to expand...
Click to collapse
Hey!
THX man, nice thread. Very useful!
Just PM to MOD, that they close you previous thread, a bout fla.sh.ROM. Or ppl just waiting it and asking.
CHEERS!
i think the most troublesome problem i encounter is to repack system.rfs. yes it can be mounted in magiciso, but howto repack/compile it back?
an0nym0us_ said:
i think the most troublesome problem i encounter is to repack system.rfs. yes it can be mounted in magiciso, but howto repack/compile it back?
Click to expand...
Click to collapse
Just save it.
didnt work when i just save it. my device got bootloop
an0nym0us_ said:
didnt work when i just save it. my device got bootloop
Click to expand...
Click to collapse
What modification you've added to your ROM? Maybe that modification causing the problem...
fla.sh said:
What modification you've added to your ROM? Maybe that modification causing the problem...
Click to expand...
Click to collapse
As Linux, MagicISO read RFS image as a FAT filesystem. File permissions can not be maintained. A better way but need linux:
1. Mount system.rfs as FAT and mount it to /tmp/rfs
2. Make ext4 image, and mount it to /tmp/system
3. Copy /tmp/rfs contents to /tmp/system
4. Make modification inside /tmp/system
5. Fix file permissions inside /tmp/system
6. Umount both image
7. Make ODIN flashable image, contains system.rfs (now in ext4 format) and CF-Root-S5830 boot and recovery image (for ext4 support)
8. Boot to Windows and flash your new firmware using ODIN.
ketut.kumajaya said:
As Linux, MagicISO read RFS image as a FAT filesystem. File permissions can not be maintained. A better way but need linux:
1. Mount system.rfs as FAT and mount it to /tmp/rfs
2. Make ext4 image, and mount it to /tmp/system
3. Copy /tmp/rfs contents to /tmp/system
4. Make modification inside /tmp/system
5. Fix file permissions inside /tmp/system
6. Umount both image
7. Make ODIN flashable image, contains system.rfs (now in ext4 format) and CF-Root-S5830 boot and recovery image (for ext4 support)
8. Boot to Windows and flash your new firmware using ODIN.
Click to expand...
Click to collapse
I use this command to mount rfs:
Code:
mount -o loop system.rfs /some_dir
Can you share us the command?
now thats really informative. thanks
ROM unpacking and repacking gude has been corrected. Tested by me. If you have any problems, just ask here.
Thanks.
I think you should add the date of update in the title, so that everyone can know about the update...
BTW thanks for this amazing guide...
Love it!!!
After making changes to system.rfs, how to save it as .rfs again?
adiles said:
After making changes to system.rfs, how to save it as .rfs again?
Click to expand...
Click to collapse
Please take look at the first page, it's updated, you know?
After I created md5 file and selected it in odin, it says "invalid image type" and "invalid model binary". How to solve that? After that I continued, skipped these errors and flashed, my phone stopped at boot screen with text "Galaxy ACE....". Plz help me

Categories

Resources