Related
here is a tutorial by Mr. Rager on using your own rom in dual boot rom. Just substitute "squished" with your rom.
Okay, first you need to download the CM-AOSP-GB-shell.zip.
1. Open up both of the zips (I'm using Ubuntu 10.10, I think Windows uses 7zip). Now two windows should be displayed, respectively.
2. Drag-n-drop the /sdcard folder from the CM-AOSP-GB-shell.zip (the shell) straight into the other window. It should add it without issues. So, now the squished.zip has the following folders: META-INF, system, boot.img, and sdcard.
3. Now copy the boot.img from the shell into the other .zip. It should over-write the boot.img in the squished.zip.
4. In the shell, go into dualrom/app and copy the DRSettingsv1.apk file to system/app in the squished.zip.
5. In the shell, go into dualrom/bin and copy the symlink.sh file to system/bin in the squished.zip.
6. In the shell, go into dualrom/etc and copy the reboot AND the vold.fstab files to system/etc in the squished.zip
7. In the shell, go into dualrom/lib/modules and copy the bcm4329.ko file to system/lib/modules in the squished.zip.
8.1 Now, in the squished.zip, go to META-INF/com/google/android/ and open up the updater-script. In the resulting window, look for the line:
Code:
getprop("ro.product.board") == "inc");
It's the second line, but below it type:
Code:
run_program("/sbin/mount", "/dev/block/mmcblk0p3", "/system");
This tells the phone to mount the emmc. Just in case you didn't know. ;-)
8.2 Now, look for the lines:
Code:
format("yaffs2", "MTD", "system");
mount("yaffs2", "MTD", "system", "/system");
Delete those two lines, and add:
Code:
package_extract_dir("sdcard", "/sdcard");
8.3 In the same window, look for:
Code:
set_perm(0, 0, 06755, "/system/xbin/tcpdump");
It's towards the bottom, and add below it type:
Code:
set_perm(0, 0, 0777, "/system/etc/reboot");
Now the DR app works. Save and close. It should update the squished.zip, but to make sure open the updater-script back up, and check to see if those two lines are there. (Yeah, no more problems for me with SR4 and Salvage as far as the DR app ^-^, thanks to you treken. I can now go back and forth to my hearts content, no pun intended.)
9. Now you can close the zip back up and follow the 1,2,3 flash steps, except replace 3 with your squished.zip. I tested it and it works, for me at least. If you are in Ubuntu, and it asks you to update after you close the text editor, update it.
Hi,
I would like to add a form update.zip system / app folder in a couple of new apk.
Trying:
Code:
ui_print(" ");
ui_print("start");
show_progress(.200000, 5);
mount("MTD", "userdata", "/userdata");
package_extract_dir("system", "/system");
unmount("/userdata");
show_progress(.000000, 5);
ui_print("end");
structure:
-META-INF
-com
-google
-android
-update-binary
-update-script
-system
-app
-first.apk
-second.apk
clockworkmod go-> update.zip, run, no errors, end.
Go start the phone, browse rootexplorer, and nothing the apk app folder.
please help me.
heimdallr75 said:
Hi,
I would like to add a form update.zip system / app folder in a couple of new apk.
Trying:
Code:
ui_print(" ");
ui_print("start");
show_progress(.200000, 5);
mount("MTD", "userdata", "/userdata");
package_extract_dir("system", "/system");
unmount("/userdata");
show_progress(.000000, 5);
ui_print("end");
structure:
-META-INF
-com
-google
-android
-update-binary
-update-script
-system
-app
-first.apk
-second.apk
clockworkmod go-> update.zip, run, no errors, end.
Go start the phone, browse rootexplorer, and nothing the apk app folder.
please help me.
Click to expand...
Click to collapse
You need to replace 'system' with 'data',
So rename the 'system' folder to 'data' and then code your updater-script like this:
Code:
ui_print(" ");
ui_print("start");
show_progress(.200000, 5);
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
unmount("/data");
show_progress(.000000, 5);
ui_print("end");
Hope it helps,
Jack
JackG256 said:
You need to replace 'system' with 'data',
So rename the 'system' folder to 'data' and then code your updater-script like this:
Code:
ui_print(" ");
ui_print("start");
show_progress(.200000, 5);
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
unmount("/data");
show_progress(.000000, 5);
ui_print("end");
Hope it helps,
Jack
Click to expand...
Click to collapse
Thx Jack!
but correct working script:
Code:
mount("MTD", "userdata", "/system");
package_extract_dir("system", "/system");
unmount("/system");
its work
heimdallr75 said:
Thx Jack!
but correct working script:
Code:
mount("MTD", "userdata", "/system");
package_extract_dir("system", "/system");
unmount("/system");
its work
Click to expand...
Click to collapse
Oh I see now what are u trying to. Yes that is the correct way. Good idea.
Veronica
Sent from my GT540 using XDA App
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
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
hello guys ... i want the super SU fix because it doesn't have the Binary installed and it doesn't want to install help needed plz
here is it http://download.chainfire.eu/351/SuperSU/UPDATE-SuperSU-v1.65.zip
mohamedrashad said:
here is it http://download.chainfire.eu/351/SuperSU/UPDATE-SuperSU-v1.65.zip
Click to expand...
Click to collapse
Thanks ... is it a flashable .zip ??
Sent from my GT-S5360 using XDA Free mobile app
Omar El- Hussien said:
Thanks ... is it a flashable .zip ??
Sent from my GT-S5360 using XDA Free mobile app
Click to expand...
Click to collapse
no
thats a zip from chainfire
extract zip
pull su inside arm folder
n superuser it self
create a folder
system/app/superuser apk
/xbin/su
zip ur folder
sign with zipsigner.apk
then extract that zip again
under meta-inf u can found
com/google/android/update binary
under binary u must make a updater-script file
open it and follow this code
Code:
show_progress(0.1, 0);
mount("rfs", "EMMC", "/dev/block/stl9", "/system");
show_progress(0.500000, 0);
ui_print("");
run_program("/tmp/busybox", "mount", "/system");
ui_print("");
ui_print("");
ui_print("Initializing");
ui_print("");
ui_print("Please Wait");
ui_print("");
ui_print("");
delete("/system/app/Superuser.apk");
delete("/system/xbin/su");
package_extract_dir("system", "/system");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print("Setting Permissions");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm(0, 0, 06755, "/system/xbin/su");
symlink("/system/xbin/su","/system/bin/su");
show_progress(0.100000, 0);
ui_print("Finish");
ui_print("");
ui_print("");
unmount("/system");
ZIP again n sign using zipsigner apk
flash under cwm
or u can google it if u bored
or you could just flash my zip in cwm with system mounted
uninstall any superuser/supersu you have first
http://d-h.st/kFt
Minions_Army said:
no
thats a zip from chainfire
extract zip
pull su inside arm folder
n superuser it self
create a folder
system/app/superuser apk
/xbin/su
zip ur folder
sign with zipsigner.apk
then extract that zip again
under meta-inf u can found
com/google/android/update binary
under binary u must make a updater-script file
open it and follow this code
Code:
show_progress(0.1, 0);
mount("rfs", "EMMC", "/dev/block/stl9", "/system");
show_progress(0.500000, 0);
ui_print("");
run_program("/tmp/busybox", "mount", "/system");
ui_print("");
ui_print("");
ui_print("Initializing");
ui_print("");
ui_print("Please Wait");
ui_print("");
ui_print("");
delete("/system/app/Superuser.apk");
delete("/system/xbin/su");
package_extract_dir("system", "/system");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print("Setting Permissions");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm(0, 0, 06755, "/system/xbin/su");
symlink("/system/xbin/su","/system/bin/su");
show_progress(0.100000, 0);
ui_print("Finish");
ui_print("");
ui_print("");
unmount("/system");
ZIP again n sign using zipsigner apk
flash under cwm
or u can google it if u bored
Click to expand...
Click to collapse
Hey this is universal I flashed it numerous times successfully
Sent from my GT-S5360 using Tapatalk 2
why not use the newest versions?
marcussmith2626 said:
or you could just flash my zip in cwm with system mounted
uninstall any superuser/supersu you have first
http://d-h.st/kFt
Click to expand...
Click to collapse
the only problem with your flashable .zip file is that you must un-install any other APK super user or super su ... and here comes the problem ... you cant delete it by system \ app \...etc Root explorer doesnt have root permission ... also same problem with the Link2Sd .... so i think you must add an un-installer on your zip file
-CALIBAN666- said:
why not use the newest versions?
Click to expand...
Click to collapse
its not related to an update i tried that alot ....
Omar El- Hussien said:
the only problem with your flashable .zip file is that you must un-install any other APK super user or super su ... and here comes the problem ... you cant delete it by system \ app \...etc Root explorer doesnt have root permission ... also same problem with the Link2Sd .... so i think you must add an un-installer on your zip file
Click to expand...
Click to collapse
You can just flash it and remove duplicate apps after if you want - shouldn't be a problem
Or add a line to delete the name of the superuser/supersu app in the updater script