[Q] E: Error in /sdcard/update.zip (Status 6) - Nexus One General

Hi guys,
i just tried to make my own update.zip.
The files inside are like this:
Code:
META-INF/
-com/
-google/
-android/
update-binary
updater-script
system/
-app/
Gallery3D.apk
I took update-binary and updater-script from another update.zip.
Then i modified updater-script to this:
Code:
show_progress 0.1 0
delete SYSTEM:app/Gallery.apk
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10
Unfortunately it doesn't work. This is what i get if i try to apply the .zip:
Code:
-- Install from sdcard...
Finding update package...
Opening update package...
Installing update...
E:Error in /sdcard/update.zip
(Status 6)
Installation aborted.
I just don't get it. Why isn't it working?

luckybk said:
Hi guys,
i just tried to make my own update.zip.
The files inside are like this:
Code:
META-INF/
-com/
-google/
-android/
update-binary
updater-script
system/
-app/
Gallery3D.apk
I took update-binary and updater-script from another update.zip.
Then i modified updater-script to this:
Code:
show_progress 0.1 0
delete SYSTEM:app/Gallery.apk
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10
Unfortunately it doesn't work. This is what i get if i try to apply the .zip:
Code:
-- Install from sdcard...
Finding update package...
Opening update package...
Installing update...
E:Error in /sdcard/update.zip
(Status 6)
Installation aborted.
I just don't get it. Why isn't it working?
Click to expand...
Click to collapse
The syntax you're using if for an "update-script" not an "updateR-script"
Off the top of my head! This should work as an updateR-script...
Code:
show_progress(0.900000, 3);
mount("yaffs2", "MTD", "system", "/system");
delete("/system/app/Gallery.apk");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/app/Gallery.apk");
show_progress(0.100000, 1);
unmount("/system");

I ran into this same issue when trying to roll my own zips. I tried both syntaxes without luck. I had to abandon my work for the time being. If I can find it, I'll see about posting up here for reference. I couldn't even get a ONE LINER to work.

Read my sig, look up my Gallery3D mod, it has update-script and updater-script variants.

Phoenix84118 said:
I ran into this same issue when trying to roll my own zips. I tried both syntaxes without luck. I had to abandon my work for the time being. If I can find it, I'll see about posting up here for reference. I couldn't even get a ONE LINER to work.
Click to expand...
Click to collapse
In that case you have the wrong binary included...
Just try a:
Code:
ui_print("Hello world!");
line...

djmcnz said:
The syntax you're using if for an "update-script" not an "updateR-script"
Off the top of my head! This should work as an updateR-script...
Code:
show_progress(0.900000, 3);
mount("yaffs2", "MTD", "system", "/system");
delete("/system/app/Gallery.apk");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/app/Gallery.apk");
show_progress(0.100000, 1);
unmount("/system");
Click to expand...
Click to collapse
yeah but my friend except the progress code all the rests i'll do them but i see the same error what can i do in that case?? PLZ help!

paok96 said:
yeah but my friend except the progress code all the rests i'll do them but i see the same error what can i do in that case?? PLZ help!
Click to expand...
Click to collapse
Status 6 is a syntax problem... you need to find it!
Do not use Windows Notepad
Make sure there is a <cr> (carriage return/enter) at the end of the file...

Related

[WIP] How to Write an Updater-Script with Edify Code

First and foremost I take no credit for the majority of this thread. I am merely posting this here as a reference for you all. I had to dig around a lot for this information and piece it together from several different threads as well as pull examples from updater-scripts in several different roms/theme/etc. Everyone else put in the work, I am just trying to make it easier for the rest of us .
Mounting Partitions:
MTD:
Code:
mount("MTD", "system", "/system");
mount("MTD", "userdata", "/data");
mount("MTD", "cache", "/cache");
mount("MTD", "sdcard", "/sdcard");
EMMC with EXT3 and EXT4 file systems:
Code:
mount("ext4", "EMMC", "/dev/block/mountpoint", "/system");
mount("ext4", "EMMC", "/dev/block/mountpoint", "/data");
mount("ext4", "EMMC", "/dev/block/mountpoint", "/cache");
Code:
mount("ext3", "EMMC", "/dev/block/mountpoint", "/system");
mount("ext3", "EMMC", "/dev/block/mountpoint", "/data");
mount("ext3", "EMMC", "/dev/block/mountpoint", "/cache");
“mountpoint” will vary from device to device. Decide what partition you want to mount, find where it mounts (there will be resources in the second post, and paste it in place of “mountpoint” in your script.
Mounting system, data, and cache on the EVO 3D
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
mount("ext4", "EMMC", "/dev/block/mmcblk0p25", "/cache");
Amend
Code:
[I][COLOR="Gray"]none[/COLOR][/I]
Unmounting Partitions:
MTD and EMMC:
Code:
unmount("/system");
unmount("/data"); [COLOR="Red"]OR[/COLOR] unmount("/userdata");
unmount("/cache");
unmount("/sdcard");
Amend
Code:
[I][COLOR="Gray"]none[/COLOR][/I]
Format Partitions:
MTD:
Code:
format("MTD", "system");
format("MTD", "cache");
format("MTD", "data");
format("MTD", "boot");
EMMC EXT3/4:
Code:
format("ext4", "EMMC", "/dev/block/mountpoint");
Code:
format("ext3", "EMMC", "/dev/block/mountpoint");
Formatting system, data, cache, and boot on EVO 3D.
Code:
format("ext4", "EMMC", "/dev/block/mmcblk0p23");
format("ext4", "EMMC", "/dev/block/mmcblk0p24");
format("ext4", "EMMC", "/dev/block/mmcblk0p25");
format("ext4", "EMMC", "/dev/block/mmcblk0p22");
Amend:
Code:
[I][COLOR="Gray"]format SYSTEM:
format DATA:
format BOOT:
format CACHE:[/COLOR][/I]
Copy files from .zip file to phone partition or sd card:
Code:
package_extract_dir("Source", "Destination");
“Source” = folder in .zip file. "Destination" = partition to copy to,
Code:
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
package_extract_dir("sdcard", "/sdcard");
Amend:
Code:
[I][COLOR="Gray"]copy_dir PACKAGE:system SYSTEM:
copy_dir PACKAGE:data DATA:
copy_dir PACKAGE:sdcard SDCARD:
[/COLOR][/I]
Write an .img file:
MTD:
Code:
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
EMMC:
Code:
package_extract_file("boot.img", "/dev/block/mountpoint");
Amend
Code:
[I][COLOR="Gray"]write_raw_image PACKAGE:boot.img BOOT:[/COLOR][/I]
Output a line of text:
MTD/EMMC:
Code:
ui_print("Text Here");
Amend
Code:
[I][COLOR="Gray"]none[/COLOR][/I]
Delete a file:
Use delete for a single file. Use delete recursive for an entire folder.
Code:
delete_recursive("file/path");
Code:
delete("/path/to/file");
Amend
Code:
[I][COLOR="Gray"]delete_recursive PARTITION:path/to/file[/COLOR][/I]
Code:
[I][COLOR="Gray"]delete PARTITION:path/to/file[/COLOR][/I]
Set ownership and permissions for folder:
Code:
set_perm_recursive(uid, gid, dmode, fmode, “/path/to/folder”);
Amend
Code:
[COLOR="Gray"]set_perm_recursive uid gid dmode fmode PARTITION:path[/COLOR]
Set ownership and permissions for a file:
Code:
set_perm(uid, gid, mode, “/path/to/file”);
Amend
Code:
[COLOR="Gray"]set_perm uid gid mode PARTITION:file[/COLOR]
Run a program:
Code:
run_program("programtorun");
Amend
Code:
[I][COLOR="gray"]run_program PACKAGE:programtorun[/COLOR][/I]
Creating symlinks:
Code:
symlink("/path/to/file", "/path/tofile");
Amend
Code:
[COLOR="gray"][I]symlink /path/to/file PARTITION:path/to/file[/I][/COLOR]
Progress bar:
Code:
show_progress(fraction, duration);
Amend
Code:
[COLOR="gray"][I]show_progress fraction, duration[/I][/COLOR]
Mount points for selected devices:
Evo 3D
Code:
mmcblk0p21 /boot
mmcblk0p23 /system
mmcblk0p24 /data
mmcblk0p25 /cache
Evo Shift 4G
Code:
mmcblk0p22 /boot
mmcblk0p26 /system
mmcblk0p27 /data
mmcblk0p28 /cache
Nexus S
Code:
mtdblock4 /cache
platform/s3c-sdhci.0/by-name /system
platform/s3c-sdhci.0/by-name /userdata
reserved for more info at a later date
excellent tutorial. answered a lot of questions i had
w00t w00t! thanks for this, dude!
http://forum.xda-developers.com/showthread.php?t=936175
A lot of information in there that I have bookmarked and used without problems.
raiden89 said:
http://forum.xda-developers.com/showthread.php?t=936175
A lot of information in there that I have bookmarked and used without problems.
Click to expand...
Click to collapse
Thanks. Will update. Just wanted to post something for the EVO users so we have our own thread to reference.
EDIT: Also, looks like he might be missing a few commands. Not a big deal. Any and all help is appreciated.
Oh yeah. Of course. I know some stuff is missing, but I also like the color coding of it and showing what the Amend syntax is compared to the Edify. So, I thought I would post it. It's been useful to me.
thank you so much for making this. now people will stop bothering me and tiffany about our fantastic zips not working in cwm 3.+
Some more resources for you all...
Here and here (source code is included if you would like to see the conversions being done).
=]
Is there any way to change the color of text output in ui_print?
droidzone said:
Is there any way to change the color of text output in ui_print?
Click to expand...
Click to collapse
I believe that is dependent on how your recovery is built.
Sent from my PC36100 using XDA Premium App
droidzone said:
Is there any way to change the color of text output in ui_print?
Click to expand...
Click to collapse
Karadorde said:
I believe that is dependent on how your recovery is built.
Click to expand...
Click to collapse
If you rebuild the recovery it can be changed, but there are no options built in that will allow you to change the colors.
I'm of course referring to ClockworkMod recovery, since Amon_RA's github is outdated, I haven't really looked through his code.
=]
Anyone know the arguments/parameters to format boot to ext4?
The Desire S is Ext4 by default but i keep getting a status 1 error code when using Ext4, however Ext3 works fine.
Ive tried mounting and unmounting prior to format but no luck what so ever
You can find the partition information for the DS here:
http://forum.xda-developers.com/showthread.php?t=1057342
Thanks for the guide. This will help a lot in the future
Sent from my xEVO using XDA premium app
ooh i see you've updated for the evo 3d
One trick I used in creating the superuser and gapps ZIPs:
Code:
run_program("/sbin/busybox", "mount", "/system");
It runs just fine on both eMMC and MTD devices, and the only prerequisites are that the recovery has busybox, and already knows the mount points (which any good recovery should). Been working on Amon_RA, ClockworkMod 2-4, and TWRP.
Great tutorial!
Just one question, the # symbol preceeding a line is used for comments, right?
Thanks!!
splattx_x said:
Just one question, the # symbol preceeding a line is used for comments, right?
Click to expand...
Click to collapse
Yes, if the 1st char in the line is '#' that line is a comment.
=]
nubecoder said:
Yes, if the 1st char in the line is '#' that line is a comment.
=]
Click to expand...
Click to collapse
Awesome! Thanks. Now I have to figure out why I can't flash any zip in my phone with CWM.
This guide is very helpful. Any chance anyone knows where to get the update-binary? I know I can get it from a ROM but I'd like to learn so I can cook my own ROM from scratch.

How to run .sh Script in update-script?

Hi,
Iam trying to start a fullwipe.sh during the updater-script prozess. It works on the Optimus Speed, but it doesn't work on the DEFY. I know that the file is copied in the right folder because I tried it also with an SDCard, but it doesn't get executed.
Code:
ui_print("Mounte Partitionen...");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/dbdata");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/sdcard");
# Fullwipe
delete_recursive("/tmp/vorkKernel");
package_extract_dir("tmp", "/tmp");
set_perm(0, 0, 0777, "/tmp/vorkKernel/busybox");
set_perm(0, 0, 0777, "/tmp/vorkKernel/fullwipe.sh");
run_program("/tmp/vorkKernel/fullwipe.sh");
As I said it works flawless on the Optimus Speed and maybe somebody know why it doesn't work on the Defy. Are there maybe different mounts or different names for some codes.
It works until it should run_program and it doesn't have to do something with the fullwipe script because I tried it even without any code only giving out some ui_print and it didn't work.
Hopefully somebody can help, because I am getting tired of trying. The fullwipe.sh is added to this post
Are you sure the script has right partitions because the updater script itself looks good as long as the binary matches it
TweetyPeety said:
Hi,
Iam trying to start a fullwipe.sh during the updater-script prozess. It works on the Optimus Speed, but it doesn't work on the DEFY. I know that the file is copied in the right folder because I tried it also with an SDCard, but it doesn't get executed.
Code:
ui_print("Mounte Partitionen...");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/dbdata");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/sdcard");
# Fullwipe
delete_recursive("/tmp/vorkKernel");
package_extract_dir("tmp", "/tmp");
set_perm(0, 0, 0777, "/tmp/vorkKernel/busybox");
set_perm(0, 0, 0777, "/tmp/vorkKernel/fullwipe.sh");
run_program("/tmp/vorkKernel/fullwipe.sh");
As I said it works flawless on the Optimus Speed and maybe somebody know why it doesn't work on the Defy. Are there maybe different mounts or different names for some codes.
It works until it should run_program and it doesn't have to do something with the fullwipe script because I tried it even without any code only giving out some ui_print and it didn't work.
Hopefully somebody can help, because I am getting tired of trying. The fullwipe.sh is added to this post
Click to expand...
Click to collapse
Sent from my MB520 using XDA App
You mean the run_program mount scripts? But they worked usually everytime and the tmp folder and the script should even start but it even doesn't start. I will try tonight something different and mount it with old stuff. What's strange ist that it says run_program and than sbin/busybox but I looked on the defy after it and on my Speed, but there is no busybox file in the sbin???? How this can work or isn't needed.
Sent from my Optimus 2X using Tapatalk
I think it has to be xbin instead of sbin
thanks for the help, but I tried it also with xbin and nothing. I tried nearly everything and wanted to test if a normal shell script even works.
Code:
#!/system/bin/sh
mount /system
rm /system/app/Email.apk
unmount /system
or something like this
Code:
#!/system/bin/sh
mount -o rw /system
rm /system/app/Email.apk
unmount /system
nothing, if I execute this Shell Script at the boot with the normal firstboot in the ini.t folder it does nothing. This is a desaster, is something different with MIUI and Shell Scripts or why any Shell Scripts doesn't work in the bloody phone.
Do I have to mount differently, to I have to use another sh Folder. I checkt every bin and xbin folder and tried different folders, nothing.
ANY IDEA:???
Try a different binary and edify script... there are like 4 different kinds, all with different mount codes
Sent from my MB520 using XDA App
rdannar said:
Try a different binary and edify script... there are like 4 different kinds, all with different mount codes
Sent from my MB520 using XDA App
Click to expand...
Click to collapse
Can you tell me them?
Sent from my Optimus 2X using Tapatalk
Do a search for updater zips on xda... there are several good tutorials each binary has to have matching mounts to that particular binary
TweetyPeety said:
Can you tell me them?
Sent from my Optimus 2X using Tapatalk
Click to expand...
Click to collapse
Sent from my MB520 using XDA App
just in case which someone else had this issue
in update binary
Code:
assert(run_program("/tmp/install.sh") == 0);
and this is the content of the install.sh
Code:
#!/sbin/sh
dd if=/tmp/boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot || exit 1
exit 0

[Q][AnyKernel] E:Error in /sdcard/anykernel.zip (Status 0)

Hi all,
since I did not get any replies to my thread about compiling modules for the kernel (see http://forum.xda-developers.com/showthread.php?t=1295925), I decided to try and compile the whole kernel instead.
I run the tablet with 3.2 with root and ClockworkMod Recovery 1.3.4. I downloaded the kernel source from Acer's website, pulled the config from device, enabled the functionality I wanted and compiled the kernel into the zImage.
Then, I took Anykernel for eMMc devices from here: http://forum.xda-developers.com/showthread.php?t=847265
Next, I placed my zImage in the anykernel zip, changed the boot mount point from
/dev/block/mmcblk0p22 to /dev/block/mmcblk0p2 and removed the references to the system folder. Finally, my updater script looks like this:
Code:
ui_print(" ");
ui_print("AnyKernel Updater by Koush");
ui_print("Fixed For eMMC By Bumble-Bee");
ui_print(" ");
ui_print("Extracting System Files...");
set_progress(1.000000);
ui_print("Extracting Kernel files...");
package_extract_dir("kernel", "/tmp");
ui_print("Installing kernel...");
set_perm(0, 0, 0777, "/tmp/dd");
set_perm(0, 0, 0777, "/tmp/mkbootimg.sh");
set_perm(0, 0, 0777, "/tmp/mkbootimg");
set_perm(0, 0, 0777, "/tmp/unpackbootimg");
ui_print("Repack Kernel Files...");
run_program(/tmp/dd", "if=/dev/block/mmcblk0p2", "of=/tmp/boot.img");;
run_program("/tmp/unpackbootimg", "/tmp/boot.img", "/tmp/");
run_program("/tmp/mkbootimg.sh");
ui_print("Flashing boot.img ...");
assert(write_raw_image("/tmp/newboot.img", "boot"),
delete("/tmp/boot.img"));
ui_print(" ");
ui_print("Done! :D");
However, when I try to apply the update in ClockworkMod I get the following error:
Code:
Finding update package...
Opening update package...
Installing update...
E:Error in /sdcard/anykernel.zip
(Status 0)
Installation aborted.
I tried changing /tmp to /sdcard/temporary but it did not help.
I assume many of you played with the Anykernel package. What do I do wrong, what should I fix? I have been struggling with this for a long time, any help will be highly appreciated.
I thought that maybe the update-binary should be different for Honeycomb so I replaced the one from AnyKernel with the one taken from here:
http://forum.xda-developers.com/showthread.php?t=1138051
Now I don't get the error, but it still says installation aborted. Any ideas?

[TUTORIAL] How to create an CWM installable .zip (Mod)

Hey guys, made an tutorial on how to make an CWM installable .zip
Requirements
Notepad++
An CWM/Feamod installable .zip for your device
Instructions:
1. Get yourself an CWM installable .zip for your device.
2. Extract the .zip
3. Go into the META-INF folder, delete CERT.RSA, CERT.SF and MANIFEST.MF.
4. go to META-INF/com/google/android
5. Right-Click on updater-script and select Notepad++
6. You see an script. Edit it. If you want to extract the folder (zip)/system/media/audio/ui use this script:
Code:
package_extract_dir("system/media/audio/ui", "/system/media/audio/ui");
ui_print("text"); means the text shown when you install the .zip in CWM.
run_program("text"); means that CWM runs a program
delete("/system"); means that you delete /system
package_extract_dir("framework", "/system/etc"); means that the files in /system/framework are extracted in /system/etc (on the device)
Make the script. My script for my iPhone Sounds is
ui_print("iPhone-Sounds by FlorisNL");
Code:
show_progress(1.000000, 0);
mount("ext4", "/dev/block/mmcblk0p15", "/system");
set_progress(0.400000);
package_extract_dir("system/media/audio/ui", "/system/media/audio/ui");
set_progress(0.800000);
unmount("/system");
set_progress(0.900000);
ui_print("Installed Iphone-Sounds. Enjoy.");
set_progress(1.000000);
When your done, create an .zip with 7z. and test it. If you still got problems, feel free to post it in this topic.
(Sorry for my poor english sometimes ;p)
Floris
No need to make CWM flashable mod for audio files.
Put ogg/m4a/mp3 files in
sdcard/Alarms
sdcard/Notifications
sdcard/Ringtones
Reboot and media scanner will make them available in Settings > Sounds.
sdcard/Ringtones/.nomedia <- (0 size file)
Reboot and media scanner skip the folder sdcard/Ringtones
But I want to know. And im not porting ringtones only but also lock sounds, camera shutter sound, etc.
Sent from my GT-I9001 using xda premium
Then you must promise not to include aiPhaun sounds... :*
I don't want to be held responsible for distributing that to Android platform :\
O-T said:
Then you must promise not to include aiPhaun sounds... :*
I don't want to be held responsible for distributing that to Android platform :\
Click to expand...
Click to collapse
Lol ok, it was just an idea. I just like the shutter sound and the lock sounds of the iphone but I prefer Android.
Just take a normal zip for your device, extract it, look at the file in META-INF\com\google\android --> updater-script (edit only with notepad++ under windows os, otherwise with normal notepad or other software the line endings might get converted from UNIX style to windows style which will not work!)
Files to be copied will most likely be in a folder structure like \system\YourFile.
Be sure to remove in \META-INF files CERT.RSA, CERT.SF and MANIFEST.MF.
Those are the files that gurantee the file is correct and integer ("signed zip") will become invalid after repacking.
Then pack everything with 7zip (with format .zip and lightest compression) and make sure that when you open up your zip META-INF is in the zip root.
More information on updater-scripts can be found on XDA or google with search for edify script.
What do you exactly mean with a zip for your device? Another mod?
Sent from my GT-I9001 using xda premium
Yes. For example, this is the start of crybert's AIO package script for 9001.
Code:
ui_print(" AIO - Package v1 by crybert ");
ui_print("**********************************");
ui_print(" root ");
ui_print(" busybox ");
ui_print(" init.d ");
ui_print(" custom bootanimation ");
ui_print(" FeaModRecovery 1.4 ");
ui_print("**********************************");
ui_print(" Credits: ");
ui_print(" manveru0 - FeaModRecovery ");
ui_print(" KeksKlip - Root ");
ui_print(" ");
ui_print("**********************************");
show_progress(1.000000, 0);
ui_print("Preparing device");
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
package_extract_dir("system", "/system");
set_progress(0.200000);
ui_print("Activating SuperUser");
set_perm(0, 0, 06755, "/system/bin/su");
symlink("/system/bin/su", "/system/xbin/su");
set_progress(0.400000);
wintel_mac said:
Yes. For example, this is the start of crybert's AIO package script for 9001.
Code:
ui_print(" AIO - Package v1 by crybert ");
ui_print("**********************************");
ui_print(" root ");
ui_print(" busybox ");
ui_print(" init.d ");
ui_print(" custom bootanimation ");
ui_print(" FeaModRecovery 1.4 ");
ui_print("**********************************");
ui_print(" Credits: ");
ui_print(" manveru0 - FeaModRecovery ");
ui_print(" KeksKlip - Root ");
ui_print(" ");
ui_print("**********************************");
show_progress(1.000000, 0);
ui_print("Preparing device");
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
package_extract_dir("system", "/system");
set_progress(0.200000);
ui_print("Activating SuperUser");
set_perm(0, 0, 06755, "/system/bin/su");
symlink("/system/bin/su", "/system/xbin/su");
set_progress(0.400000);
Click to expand...
Click to collapse
This is my script how it's now. It is installing but its not replacing the Lock.ogg - Unlock.ogg - TW_Unlock.ogg files... Can you help me?
Code:
ui_print("iPhone-Sounds by FlorisNL");
show_progress(1.000000, 0);
mount("MTD", "/system/media/audio/ui", "/system/media/audio/ui");
set_progress(0.400000);
package_extract_dir("system/media/audio/ui", "/system/media/audio/ui");
set_progress(0.800000);
unmount("/system/media/audio/ui");
set_progress(0.900000);
ui_print("Installed Iphone-Sounds. Enjoy.");
set_progress(1.000000);
My Folder:
Code:
system/media/audio/ui/Lock.ogg TW_Unlock.ogg Unlock.ogg
Code:
META-INF/com/google/android/updater-binary and updater-script
Mount command seems wrong.
Sent from my GT-I9001 using XDA App
FlorisNL said:
This is my script how it's now. It is installing but its not replacing the Lock.ogg - Unlock.ogg - TW_Unlock.ogg files... Can you help me?
Code:
ui_print("iPhone-Sounds by FlorisNL");
show_progress(1.000000, 0);
mount("MTD", "/system/media/audio/ui", "/system/media/audio/ui");
set_progress(0.400000);
package_extract_dir("system/media/audio/ui", "/system/media/audio/ui");
set_progress(0.800000);
unmount("/system/media/audio/ui");
set_progress(0.900000);
ui_print("Installed Iphone-Sounds. Enjoy.");
set_progress(1.000000);
My Folder:
Code:
system/media/audio/ui/Lock.ogg TW_Unlock.ogg Unlock.ogg
Code:
META-INF/com/google/android/updater-binary and updater-script
Click to expand...
Click to collapse
Folders are ok.
script:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
package_extract_dir("system", "/system");
All the rest is unneeded ui stuff. Nice to look at, not necessary...
Thank you so much! I did it http://forum.xda-developers.com/showthread.php?t=1502660 here is the result so far
Sent from my GT-I9001
Hi Floris,
Thanks for changing this into a tut, good job!
Regards,
Nika.
And be sure if you extracted the zip to a directory, when you zip back, zip what's INSIDE the folder and not the folder... yeah, I did that...
The updater-script must also be in UNIX format (definitely, but that mistake I didn't make... )
With CWM 6.0.4.4 you can zip with the "Ultra" compression in 7-zip and CWM will manage to open it.
Hi, can anyone help me with this
trying to create own package which CWM still fails to install
gives error E: failed to open update.zip (bad)
Aborted
Q1: Am I require to use 7zip and lightest compression?
Q2: what actually does the mount("ext4", "...) command do and is it required to use?
Q3: if I want to put custom apk file into /system/app/ and set rw-r-r permissions for it, which command do I use?
bflmpsvz said:
Hi, can anyone help me with this
trying to create own package which CWM still fails to install
gives error E: failed to open update.zip (bad)
Aborted
Q1: Am I require to use 7zip and lightest compression?
Q2: what actually does the mount("ext4", "...) command do and is it required to use?
Q3: if I want to put custom apk file into /system/app/ and set rw-r-r permissions for it, which command do I use?
Click to expand...
Click to collapse
A1: I always just zipped it, never looked at the compression quality. Just make sure to make a ZIP and not RAR or 7Z
A2: It mounts your system so you can write to it. Make sure to use an example mount command from a working ZIP of someone else for your specific device. The mount command is different in every device. On some recoveries with rooted ROMs you can use:
Code:
run_program("/sbin/busybox", "mount", "/system");
A3: For instance something like this:
Code:
show_progress(1.000000, 0);
ui_print(" Mounting SYSTEM...");
run_program("/sbin/busybox", "mount", "/system");
set_progress(0.100000);
ui_print(" Extracting files to SYSTEM...");
package_extract_dir("system", "/system");
set_progress(0.400000);
ui_print(" Setting /system/app/NAME.apk permission to 644...");
set_perm(0, 0, 644, "/system/app/NAME.apk");
set_progress(0.600000);
ui_print(" Unmounting SYSTEM...");
unmount("/system");
set_progress(0.900000);
ui_print("Install complete...");
set_progress(1.000000);
Why not use ADB for something like this (from your PC)?
Code:
adb remount
adb push NAME.apk_here /system/app/
adb shell chmod 644 /system/app/NAME.apk
adb reboot
Regards,
Nika.
Nice. I've found the error source - some files names had international accents. Now install passes to the end.
But another problem I have is that my files aren't mirrored into system.
Is package_extract_dir("system", "/system") recursive or do I have process every nested folder in it for extraction?
system\fonts
system\media\audio\alarms
system\media\audio\notifications
system\media\audio\ringtones
system\etc
system\bin
system\app
My script
Code:
ui_print("Integrating own fonts, sounds and customizations into system");
show_progress(1.000000, 0);
set_progress(0.000000);
package_extract_dir("system", "/system");
set_progress(1.000000);
ui_print("Installed custom files. Enjoy.");
Finishes successfully but when I boot into OS, the files aren't in place, and I install this zip as last package.
Looks to me like you're not mounting system. It therefore cannot add the files. Yes, with package_extract_dir it recursively extracts all files...
Verstuurd vanaf mijn E380 met Tapatalk
---------- Post added at 07:56 PM ---------- Previous post was at 07:52 PM ----------
BTW, in most cwm you can also mount system from the menu. Try that first and then run your script. Again, mounting system is required when you want to copy file to it. Figure out what command to use for your specific rom... Possibly also checkout how they do it for gapps and other generic installable zips...
Verstuurd vanaf mijn E380 met Tapatalk

[Solved][Q] Problem creating "update.zip" to flash .ttf & fallback_fonts.xml file

[Solved][Q] Problem creating "update.zip" to flash .ttf & fallback_fonts.xml file
The whole question is irrelevant. It was my mistake in creating the zip file. I included the folder(parent to META-INF and SYSTEM) in the zip but I only had to include the META-INF and the SYSTEM folder. Solved it. Thank you.. How dumb i feel:laugh::laugh:
Believe me, I have been through several guides before writing this question about creating update.zip.
I have tried to modify existing .zip files, create new ones etc. etc. but I am failing every time.
My purpose is to flash a modified "fallback_fonts.xml" file to /system/etc/ and a new .ttf file to /system/fonts
I have modified the fallback_fonts.xml file and put it in the system/etc/ folder and the .ttf file in the /system/fonts/ folder.
The updater-script looks like this
Code:
ui_print("Installing Gujarati Fonts for CM10.1 based ROMs..");
ui_print(" ");
ui_print("Mounting system...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 7);
ui_print("Copying files...");
package_extract_dir("system","/system");
ui_print("Setting Permissions....");
set_perm(0, 0, 644, "/system/etc/fallback_fonts.xml");
set_perm(0, 0, 644, "/system/fonts/Lohit-Gujarati.ttf");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Installation complete!");
I have put an extra line also at the end as mentioned by some tutorials and guides about creating update.zip. Yet, it always fails to flash and I have to do these changes manually which is frustrating every time I flash a new build.
I have taken the update-binary file from an addon file which BaNkS uses to update thin roboto fonts. I have also tried using his same updater-script as it only says just to extract_dir of system but still it fails.
Any help would be deeply appreciated.....
bioinfoboy said:
Believe me, I have been through several guides before writing this question about creating update.zip.
I have tried to modify existing .zip files, create new ones etc. etc. but I am failing every time.
My purpose is to flash a modified "fallback_fonts.xml" file to /system/etc/ and a new .ttf file to /system/fonts
I have modified the fallback_fonts.xml file and put it in the system/etc/ folder and the .ttf file in the /system/fonts/ folder.
The updater-script looks like this
Code:
ui_print("Installing Gujarati Fonts for CM10.1 based ROMs..");
ui_print(" ");
ui_print("Mounting system...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 7);
ui_print("Copying files...");
package_extract_dir("system","/system");
ui_print("Setting Permissions....");
set_perm(0, 0, 644, "/system/etc/fallback_fonts.xml");
set_perm(0, 0, 644, "/system/fonts/Lohit-Gujarati.ttf");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Installation complete!");
I have put an extra line also at the end as mentioned by some tutorials and guides about creating update.zip. Yet, it always fails to flash and I have to do these changes manually which is frustrating every time I flash a new build.
I have taken the update-binary file from an addon file which BaNkS uses to update thin roboto fonts. I have also tried using his same updater-script as it only says just to extract_dir of system but still it fails.
Any help would be deeply appreciated.....
Click to expand...
Click to collapse
you can try my ubuntu font zip from my medfiafirefolder, it works fine
i kept the updater script very simple, it only exchanges fonts, no xml ...
Code:
ui_print("Applying Ubuntu fonts");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("fonts", "/system/fonts");
run_program("/sbin/busybox", "umount", "/system");
I can't believe how dumb I am. What a stupid thing to do when creating a .zip file from the main folder. The zip contained the main folder and then the files inside them which obviously resulted in errors. And I thought I am doing something wrong in the syntax. Sorry guys for the trouble and thanks to them who took the time to read it. I believe I have wasted their time.
bioinfoboy said:
I can't believe how dumb I am. What a stupid thing to do when creating a .zip file from the main folder. The zip contained the main folder and then the files inside them which obviously resulted in errors. And I thought I am doing something wrong in the syntax. Sorry guys for the trouble and thanks to them who took the time to read it. I believe I have wasted their time.
Click to expand...
Click to collapse
no problem, you´re welcome

Categories

Resources