Related
can someone point me in the right direction to find away to just make a
nonwipe update? im tryin to make updates for the rom im workin on for testers. and not have them wipe every time , sorry for the stupid question .
but i cant find it by google ,unless im wording it wrong, thanx for any help
tazzpatriot said:
can someone point me in the right direction to find away to just make a
nonwipe update? im tryin to make updates for the rom im workin on for testers. and not have them wipe every time , sorry for the stupid question .
but i cant find it by google ,unless im wording it wrong, thanx for any help
Click to expand...
Click to collapse
Do you want the update-script to wipe for them or do you want the update to not require a wipe at all?
If you want to automate the wipe, I believe that http://forum.xda-developers.com/showthread.php?t=641223 has the answer.
format CACHE:
format DATA:
I've never tried it, but it seems like that would do the trick!
gnarlyc said:
Do you want the update-script to wipe for them or do you want the update to not require a wipe at all?
If you want to automate the wipe, I believe that http://forum.xda-developers.com/showthread.php?t=641223 has the answer.
format CACHE:
format DATA:
I've never tried it, but it seems like that would do the trick!
Click to expand...
Click to collapse
ill check that out thanx ,, im lookin for a way to update without a wipe
Based on my work over the last few months most update-scripts are no wipe by default. unless you have the lines gnarlyc mentioned the data/ folder will remain untouched and all user data and apps will stay in place.
A few points that may be helpful that I ran into:
You DO want to force a dalvik-cache wipe by adding
Code:
delete_recursive DATA:dalvik-cache/
When you run "format system:" the system/ dir is wiped so any changes/customizations the user has made here will be go away or be overwritten
CaynogenMod ported a nice first boot shell script to check permissions on all of the apps after the update that is a good idea to run. You can find a copy of the script and an example of how to initiate it in may latest xtrROM3.0.3 (I tried to comment code fairly well so others can follow )
Hope this helps...
update script
ui_print("Welcome to CyanogenMod-6.0.0-Desirec-test4!");
assert(getprop("ro.product.device") == "desirec" || getprop("ro.build.product") == "desirec" || getprop("ro.product.board") == "desirec");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "backup");
show_progress(0.500000, 0);
format("MTD", "system");
mount("MTD", "system", "/system");
show_progress(0.500000, 40);
package_extract_dir("system", "/system");
symlink("../xbin/su", "/system/bin/su");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/arp", "/system/xbin/ash", "/system/xbin/awk",
"/system/xbin/basename", "/system/xbin/bbconfig", "/system/xbin/brctl",
"/system/xbin/bunzip2", "/system/xbin/bzcat", "/system/xbin/bzip2",
"/system/xbin/cal", "/system/xbin/cat", "/system/xbin/catv",
"/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown",
"/system/xbin/chroot", "/system/xbin/cksum", "/system/xbin/clear",
"/system/xbin/cmp", "/system/xbin/cp", "/system/xbin/cpio",
"/system/xbin/cut", "/system/xbin/date", "/system/xbin/dc",
"/system/xbin/dd", "/system/xbin/depmod", "/system/xbin/devmem",
"/system/xbin/df", "/system/xbin/diff", "/system/xbin/dirname",
"/system/xbin/dmesg", "/system/xbin/dnsd", "/system/xbin/dos2unix",
"/system/xbin/du", "/system/xbin/echo", "/system/xbin/ed",
"/system/xbin/egrep", "/system/xbin/env", "/system/xbin/expr",
"/system/xbin/false", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fuser", "/system/xbin/getopt",
"/system/xbin/grep", "/system/xbin/gunzip", "/system/xbin/gzip",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/insmod", "/system/xbin/install",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/length", "/system/xbin/less",
"/system/xbin/ln", "/system/xbin/losetup", "/system/xbin/ls",
"/system/xbin/lsmod", "/system/xbin/lspci", "/system/xbin/lsusb",
"/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/md5sum",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mv",
"/system/xbin/netstat", "/system/xbin/nice", "/system/xbin/nohup",
"/system/xbin/nslookup", "/system/xbin/ntpd", "/system/xbin/od",
"/system/xbin/patch", "/system/xbin/pgrep", "/system/xbin/pidof",
"/system/xbin/ping", "/system/xbin/pkill", "/system/xbin/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pwd",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/rm",
"/system/xbin/rmdir", "/system/xbin/rmmod", "/system/xbin/route",
"/system/xbin/run-parts", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha512sum",
"/system/xbin/sleep", "/system/xbin/sort", "/system/xbin/split",
"/system/xbin/stat", "/system/xbin/strings", "/system/xbin/stty",
"/system/xbin/swapoff", "/system/xbin/swapon", "/system/xbin/sync",
"/system/xbin/sysctl", "/system/xbin/tac", "/system/xbin/tail",
"/system/xbin/tar", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/test", "/system/xbin/tftp", "/system/xbin/time",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/tty",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uniq", "/system/xbin/unix2dos", "/system/xbin/unlzop",
"/system/xbin/unzip", "/system/xbin/uptime", "/system/xbin/usleep",
"/system/xbin/uudecode", "/system/xbin/uuencode", "/system/xbin/vi",
"/system/xbin/watch", "/system/xbin/wc", "/system/xbin/wget",
"/system/xbin/which", "/system/xbin/whoami", "/system/xbin/xargs",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("toolbox", "/system/bin/cat", "/system/bin/cmp",
"/system/bin/date", "/system/bin/dd", "/system/bin/dmesg",
"/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/log", "/system/bin/lsmod",
"/system/bin/mkdir", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/reboot", "/system/bin/renice",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1001, 1005, 0444, "/system/etc/AudioPara4.csv");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/tcpdump");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "restore");
show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.100000, 0);
unmount("/system");
if u can let me know whats wrong zach that would be great
tazzpatriot said:
if u can let me know whats wrong zach that would be great
Click to expand...
Click to collapse
Ah.. this is a CyanogenMod ROM and he always has more complex update-scripts ...
So are you actually getting errors when you try to run this? If my limited understanding of show_progress is correct you may be getting errors on having the total above 1.0
If it is helpful, I have separated out the script and added comments on what is happening base on my current knowledge so you can see what the script is doing. Apart from the possible show_progress issue I do not see why this would not work fine as a no wipe update
I have also added what "should" work to wipe the dalvik-cache but this is not necessary and you can just ask testers to wipe from recovery...
Let me know if it works!
[EDIT] saw that I had the incorrect comment on the backup restore section and have fixed...
[EDIT2] okay I had a chance to take a look at the backuptool.sh file and basically it is just saving a copy of the google app/, etc/permissions, framework/, and lib/ files that cannot be included in CyanogenMod ROMs. Nice! I need to look at this for my ROM updates! I have update code comments below...
Code:
# feedback to user during update
ui_print("Welcome to CyanogenMod-6.0.0-Desirec-test4!");
# not sure what this is used for... maybe the backuptool.sh do not see use of these values later though...
assert(getprop("ro.product.device") == "desirec" || getprop("ro.build.product") == "desirec" || getprop("ro.product.board") == "desirec");
# Process to temp store google app/, etc/permissions, framework/, and lib/ files that cannot be included in CyanogenMod ROMs so they can be added back after ROM update.
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "backup");
# format system
show_progress(0.500000, 0);
format("MTD", "system");
mount("MTD", "system", "/system");
# the next line may be causing issues so I commented it out as your total show_progress count is 1.5 not 1.0...
# show_progress(0.500000, 40);
# copy ROM files to system
package_extract_dir("system", "/system");
# setup symlinks
symlink("../xbin/su", "/system/bin/su");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/arp", "/system/xbin/ash", "/system/xbin/awk",
"/system/xbin/basename", "/system/xbin/bbconfig", "/system/xbin/brctl",
"/system/xbin/bunzip2", "/system/xbin/bzcat", "/system/xbin/bzip2",
"/system/xbin/cal", "/system/xbin/cat", "/system/xbin/catv",
"/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown",
"/system/xbin/chroot", "/system/xbin/cksum", "/system/xbin/clear",
"/system/xbin/cmp", "/system/xbin/cp", "/system/xbin/cpio",
"/system/xbin/cut", "/system/xbin/date", "/system/xbin/dc",
"/system/xbin/dd", "/system/xbin/depmod", "/system/xbin/devmem",
"/system/xbin/df", "/system/xbin/diff", "/system/xbin/dirname",
"/system/xbin/dmesg", "/system/xbin/dnsd", "/system/xbin/dos2unix",
"/system/xbin/du", "/system/xbin/echo", "/system/xbin/ed",
"/system/xbin/egrep", "/system/xbin/env", "/system/xbin/expr",
"/system/xbin/false", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fuser", "/system/xbin/getopt",
"/system/xbin/grep", "/system/xbin/gunzip", "/system/xbin/gzip",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/insmod", "/system/xbin/install",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/length", "/system/xbin/less",
"/system/xbin/ln", "/system/xbin/losetup", "/system/xbin/ls",
"/system/xbin/lsmod", "/system/xbin/lspci", "/system/xbin/lsusb",
"/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/md5sum",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mv",
"/system/xbin/netstat", "/system/xbin/nice", "/system/xbin/nohup",
"/system/xbin/nslookup", "/system/xbin/ntpd", "/system/xbin/od",
"/system/xbin/patch", "/system/xbin/pgrep", "/system/xbin/pidof",
"/system/xbin/ping", "/system/xbin/pkill", "/system/xbin/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pwd",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/rm",
"/system/xbin/rmdir", "/system/xbin/rmmod", "/system/xbin/route",
"/system/xbin/run-parts", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha512sum",
"/system/xbin/sleep", "/system/xbin/sort", "/system/xbin/split",
"/system/xbin/stat", "/system/xbin/strings", "/system/xbin/stty",
"/system/xbin/swapoff", "/system/xbin/swapon", "/system/xbin/sync",
"/system/xbin/sysctl", "/system/xbin/tac", "/system/xbin/tail",
"/system/xbin/tar", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/test", "/system/xbin/tftp", "/system/xbin/time",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/tty",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uniq", "/system/xbin/unix2dos", "/system/xbin/unlzop",
"/system/xbin/unzip", "/system/xbin/uptime", "/system/xbin/usleep",
"/system/xbin/uudecode", "/system/xbin/uuencode", "/system/xbin/vi",
"/system/xbin/watch", "/system/xbin/wc", "/system/xbin/wget",
"/system/xbin/which", "/system/xbin/whoami", "/system/xbin/xargs",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("toolbox", "/system/bin/cat", "/system/bin/cmp",
"/system/bin/date", "/system/bin/dd", "/system/bin/dmesg",
"/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/log", "/system/bin/lsmod",
"/system/bin/mkdir", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/reboot", "/system/bin/renice",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
# set permissions
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1001, 1005, 0444, "/system/etc/AudioPara4.csv");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/tcpdump");
# next line is not needed but fills up progress bar...
show_progress(0.200000, 0);
# added by zach.xtr but not sure if syntac is correct. On HTC ROMs I have just used delete_recursive DATA:dalvik-cache/
delete_recursive("/data/dalvik-cache");
# Add back the temp store google app/, etc/permissions, framework/, and lib/ files that cannot be included in CyanogenMod ROMs.
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "restore");
# update boot.img kernel
show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.100000, 0);
unmount("/system");
Good info!
The backuptool.sh backs up any Google apps that are installed on the current ROM before flashing the new ROM. It then restores them. That's due to the C&D that Cyanogen received from Google. It works really well. Honestly, it's not a bad idea for every ROM to do this as a preemptive thing, in my opinion. Opinions vary though!
gnarlyc said:
Good info!
The backuptool.sh backs up any Google apps that are installed on the current ROM before flashing the new ROM. It then restores them. That's due to the C&D that Cyanogen received from Google. It works really well. Honestly, it's not a bad idea for every ROM to do this as a preemptive thing, in my opinion. Opinions vary though!
Click to expand...
Click to collapse
Doh! Did not see this post and just took a look at the backuptool.sh myself and updated the brakedown of the updater-script... I agree that this IS a nice tool!
So here is a question... CyanogenMod ROMs and the last update from Verizon have an update-binary and updater-script NOT an update-script file.
What is the differance and can I just replace the update-binary and updater-script WITH an update-script? Will look to test soon...
zach.xtr said:
Doh! Did not see this post and just took a look at the backuptool.sh myself and updated the brakedown of the updater-script... I agree that this IS a nice tool!
So here is a question... CyanogenMod ROMs and the last update from Verizon have an update-binary and updater-script NOT an update-script file.
What is the differance and can I just replace the update-binary and updater-script WITH an update-script? Will look to test soon...
Click to expand...
Click to collapse
Wondered that myself. Not enough to actually do any research/testing, but I have wondered... Well, actually, I've wondered the opposite. Can we drop in the update-binary and updater-script in a ROM that just has a update-script? The updater-script seems to have more options.
gnarlyc said:
Wondered that myself. Not enough to actually do any research/testing, but I have wondered... Well, actually, I've wondered the opposite. Can we drop in the update-binary and updater-script in a ROM that just has a update-script? The updater-script seems to have more options.
Click to expand...
Click to collapse
ill try that right now and let u know what happens
EDIT: well this is what happened ,
i deleted the update-binery
flash , couldnt find update
changed updater script to update script
got this
E:syntax error in script (i quess im suppose to change something ? ) install aborted
i dont know what im suppose to add or change but the way i did it ,, it didnt work
tazzpatriot said:
ill try that right now and let u know what happens
EDIT: well this is what happened ,
i deleted the update-binery
flash , couldnt find update
changed updater script to update script
got this
E:syntax error in script (i quess im suppose to change something ? ) install aborted
i dont know what im suppose to add or change but the way i did it ,, it didnt work
Click to expand...
Click to collapse
That makes since...
Try keeping the binary put my content in the updater-script and just don't include the update-script
Sent from my Eris using XDA App
Dup post........
zach.xtr said:
That makes since...
Try keeping the binary put my content in the updater-script and just don't include the update-script
Sent from my Eris using XDA App
Click to expand...
Click to collapse
hey i just tried flashin over v3 of my rom with v4 without doing anything to it , no foce closes as of yet ,, so i guess this rom is a no wipe update script ? sorry if this sounds dumb ,, im just tryin to learn
i need help im trying to build a rom for gt p1010 tab so here it goses
if i format system before flashing it wont boot
but if i dont format system and flash over the stock rom it boots i think it mite be my updater-script could someone look at if for me
thanks
Code:
ui_print("*************************************");
ui_print("* By: Rick Wyatt *");
ui_print("* Samsung Galaxy Tab *");
ui_print("* For GT P1010 *");
ui_print("* Find Me over at XDA Developers *");
ui_print("*************************************");
show_progress(0.200000, 10);
ui_print("* Installing *");
ui_print("*************************************");
ui_print("* Mounting partitions *");
ui_print("*************************************");
mount("vfat", "EMMC", "/dev/block/mmcblk0p3", "/preload");
mount("rfs", "EMMC", "/dev/block/stl9", "/system");
ui_print("* Formatting partitions *");
ui_print("*************************************");
delete_recursive("/preload");
ui_print("* Extracting package *");
ui_print("*************************************");
show_progress(0.200000, 50);
package_extract_dir("system", "/system");
package_extract_dir("preload", "/preload");
symlink("/preload/app/FlashPlayer.apk", "/system/app/FlashPlayer.apk");
symlink("/preload/app/DailyBriefing.apk", "/system/app/DailyBriefing.apk");
symlink("/preload/app/SamsungWidget_WeatherClock.apk", "/system/app/SamsungWidget_WeatherClock.apk");
symlink("/preload/app/DioDict_EngEng.apk", "/system/app/DioDict_EngEng.apk");
symlink("/preload/app/SkyNews.apk", "/system/app/SkyNews.apk");
symlink("/preload/app/Ebook.apk", "/system/app/Ebook.apk");
symlink("/preload/app/Task Manager.apk", "/system/app/Task Manager.apk");
symlink("/preload/app/VisitBritain_Tab.v1.2.0.apk", "/system/app/VisitBritain_Tab.v1.2.0.apk");
symlink("/preload/app/GamesLinkLauncher.apk", "/system/app/GamesLinkLauncher.apk");
symlink("/preload/app/WhsmithEbook107.apk", "/system/app/WhsmithEbook107.apk");
symlink("/preload/app/MoviesLinkLauncher.apk", "/system/app/MoviesLinkLauncher.apk");
symlink("/preload/app/ft-galaxytab-1.6.4f.apk", "/system/app/ft-galaxytab-1.6.4f.apk");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/arp", "/system/xbin/ash", "/system/xbin/awk",
"/system/xbin/base64", "/system/xbin/basename", "/system/xbin/bbconfig",
"/system/xbin/blockdev", "/system/xbin/brctl", "/system/xbin/bunzip2",
"/system/xbin/bzcat", "/system/xbin/bzip2", "/system/xbin/cal",
"/system/xbin/cat", "/system/xbin/catv", "/system/xbin/chattr",
"/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown",
"/system/xbin/chroot", "/system/xbin/clear", "/system/xbin/cmp",
"/system/xbin/comm", "/system/xbin/cp", "/system/xbin/cpio",
"/system/xbin/crond", "/system/xbin/crontab", "/system/xbin/cut",
"/system/xbin/date", "/system/xbin/dc", "/system/xbin/dd",
"/system/xbin/depmod", "/system/xbin/devmem", "/system/xbin/df",
"/system/xbin/diff", "/system/xbin/dirname", "/system/xbin/dmesg",
"/system/xbin/dnsd", "/system/xbin/dos2unix", "/system/xbin/du",
"/system/xbin/echo", "/system/xbin/ed", "/system/xbin/egrep",
"/system/xbin/env", "/system/xbin/expand", "/system/xbin/expr",
"/system/xbin/false", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fsync", "/system/xbin/ftpget",
"/system/xbin/ftpput", "/system/xbin/fuser", "/system/xbin/getopt",
"/system/xbin/grep", "/system/xbin/groups", "/system/xbin/gunzip",
"/system/xbin/gzip", "/system/xbin/halt", "/system/xbin/head",
"/system/xbin/hexdump", "/system/xbin/id", "/system/xbin/ifconfig",
"/system/xbin/insmod", "/system/xbin/install", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/length", "/system/xbin/less",
"/system/xbin/ln", "/system/xbin/losetup", "/system/xbin/ls",
"/system/xbin/lsattr", "/system/xbin/lsmod", "/system/xbin/lsusb",
"/system/xbin/lzcat", "/system/xbin/lzma", "/system/xbin/lzop",
"/system/xbin/lzopcat", "/system/xbin/man", "/system/xbin/md5sum",
"/system/xbin/mesg", "/system/xbin/mkdir", "/system/xbin/mke2fs",
"/system/xbin/mkfifo", "/system/xbin/mkfs.ext2",
"/system/xbin/mkfs.vfat", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modinfo", "/system/xbin/modprobe",
"/system/xbin/more", "/system/xbin/mount", "/system/xbin/mountpoint",
"/system/xbin/mpstat", "/system/xbin/mv", "/system/xbin/nanddump",
"/system/xbin/nandwrite", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pkill",
"/system/xbin/pmap", "/system/xbin/poweroff", "/system/xbin/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pstree",
"/system/xbin/pwd", "/system/xbin/pwdx", "/system/xbin/rdev",
"/system/xbin/readlink", "/system/xbin/realpath", "/system/xbin/renice",
"/system/xbin/reset", "/system/xbin/resize", "/system/xbin/rev",
"/system/xbin/rm", "/system/xbin/rmdir", "/system/xbin/rmmod",
"/system/xbin/route", "/system/xbin/run-parts", "/system/xbin/rx",
"/system/xbin/sed", "/system/xbin/seq", "/system/xbin/setconsole",
"/system/xbin/setserial", "/system/xbin/setsid", "/system/xbin/sh",
"/system/xbin/sha1sum", "/system/xbin/sha256sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/tee", "/system/xbin/telnet", "/system/xbin/telnetd",
"/system/xbin/test", "/system/xbin/tftp", "/system/xbin/tftpd",
"/system/xbin/time", "/system/xbin/timeout", "/system/xbin/top",
"/system/xbin/touch", "/system/xbin/tr", "/system/xbin/traceroute",
"/system/xbin/true", "/system/xbin/tty", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("toolbox", "/system/bin/cat", "/system/bin/cmp",
"/system/bin/date", "/system/bin/dd", "/system/bin/dmesg",
"/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/log", "/system/bin/lsmod",
"/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/reboot", "/system/bin/renice",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 06755, "/system/bin/ip");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 04755, "/system/xbin/sysrw");
set_perm(0, 0, 04755, "/system/xbin/sysro");
set_perm(0, 0, 06755, "/system/bin/su");
symlink("/system/bin/su", "/system/xbin/su");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 2000, 0755, 0755, "/system/vendor/bin");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc");
set_perm(0, 0, 0644, "/system/vendor/etc/gps.xml");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm(0, 2000, 0755, "/system/vendor/lib/egl");
set_perm(0, 2000, 0755, "/system/vendor/lib/hw");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
symlink("/system/xbin/busybox", "/system/bin/busybox");
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");
ui_print("* Unmounting partitions *");
ui_print("*************************************");
unmount("/preload");
unmount("/system");
show_progress(1.000000, 0);
ui_print("
[*] Installation Complete.");
ui_print("Done! Reboot system please!");
Well, it dont boot(stuck on samsung logo). Try upload the rom for us. Okay? Thus way will be more easy.
Ps: Cyanognemod 7 or 9?
this is android 2.3.6 stock
rickwyatt said:
this is android 2.3.6 stock
Click to expand...
Click to collapse
Hm.. Try see the CleanROM on developers session.
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 .
After looking through several threads I have found multiple ways of doing the same thing. I will be posting everything here and then update as we go in regard to what works, what doesn't work, and what works best.
There is a basic structure for nearly all update/theme/rom/etc zip files. The one thing you need for all of them is a META-INF folder. This is the folder that holds all of the generic files/folders and your scripts. The META-INF folder contains a folder labeled "com" and three other files labeled CERT.RSA, CERT.SF, and MANIFEST.MF.
The updater-script and update-binary are kind of burried in the META-INF folder. They are located:
YourZipFile\META-INF\com\google\android\HERE
The updater-script is built using the code below. The update-binary is universal and does not need to be changed.
When working with partitions in edify, you must mount them before you do anything. So if you want to copy, delete, or modify a partition you have to first mount it.
Generic:
Code:
mount("kind", "what", "path");
Kind: Type of partition. In our case it is MTD.
What: Sort of like a description. Notice the examples below.
Path: Somewhat self explanatory.
Code:
mount("MTD", "system", "/system");
mount("MTD", "userdata", "/data");
mount("MTD", "cache", "/cache");
mount("MTD", "sdcard", "/sdcard");
I also noticed this:
Code:
mount("yaffs2", "MTD", "system", "/system");
In an updater-script from a CM7 nightly. I have been able to mount and modify system without using the "yaffs2" portion, but maybe they know something I don't.
Once you are done with you modifications/changes/etc, unmount the partition.
Code:
unmount("/system");
unmount("/data"); OR unmount("/userdata");
unmount("/cache");
unmount("/sdcard");
Format and entire partition and start with a clean slate.
Generic:
Code:
format("MTD", "partition");
MTD: Stays the same regardless.
Partition: Obviously the partition we want to format.
Code:
format("MTD", "system");
format("MTD", "cache");
format("MTD", "data");
format("MTD", "boot");
Again, a reference to "yaffs2" from CM7.
Code:
format("yaffs2", "MTD", "system");
Copy files from you .zip to phone partitions or sdcard.
Generic:
Code:
package_extract_dir("Source", "Destination");
Source: Where the file/folder is located in your .zip
Destination: Where you want to copy said file/folder to.
In your .zip, you would have a folder(s) labeled system, data, or sdcard. (I can't think of any reasons you would copy anything to your cache partition and when dealing with /boot you would write to it and not copy which we will cover later on.)
Code:
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
package_extract_dir("sdcard", "/sdcard");
Write a file to a given partition. This is what I referenced in the directions directly above these. In this case, you would have the .img file in the same directory as your system, data, and sdcard folders. The same directory as the META-INF folder.
Generic:
Code:
assert(package_extract_file("partition.img", "/tmp/partition.img"),
write_raw_image("/tmp/partition.img", "partition"),
delete("/tmp/partition.img"));
Partition.img: The .img you want to write (usually boot.img)
Partition: The partition you want to write to.
Code:
package_extract_file("boot.img", "/tmp/boot.img");
write_raw_image("/tmp/boot.img", "boot");
delete("/tmp/boot.img");
Output a line of text.
Generic:
Code:
ui_print("Text Here");
Won't go into to much depth here. Just replace "text here" with whatever you want your message to be. Will have to do some testing with this. I believe using certain punctuation, such as a single period, at the end of your message my muck things up. We will see though
Delete a file. There are two different delete commands. I will see if I can give a decent definition for each.
Generic:
Code:
delete("file/path");
delete_recursive("file/path");
Code:
delete("/system/app/Email.apk");
delete_recursive("/data/dalvik-cache");
The first command will delete and continue to delete if the previous delete failed. The second command (recursive) will stop if it fails to delete. This is one of those things where I am relying on you for help. In my script is use "delete" for a single file and "recursive" for a directory. Not sure if this is correct but will update as necessary.
This is just a start for now. I have a lot more to add to this. Will update later with more code/descriptions/examples. Will also be adding links to other threads/users where credit is due. Do not think that I am trying to claim ownership of these directions. I am merely lazy and want to post this for now and will come back and edit with the appropriate information.
[TUT]Edify Installation Script Syntax's
________________________________________
Hi,
I'm making this thread for guiding some ppl to learn Edify Installation Script Syntax's
I promise u will find everything about Edify updater-Script here...
DO NOT USE NOTEPAD OR SOMETHING LIKE THAT SOFTWARE FOR MAKING UPDATER-SCRIPT, THEREFOR ERROR 6
RECOMMEND SOFTWARE FOR EDITING UPDATER-SCRIPT.
NOTEPAD++
@all plz helping me here...
If u have any prob... post ur Amend update-script here will convert it to Edify updater-script...
Code:
Amend Script Syntax----------Edify Script Syntax
Info Print:-
Don't Know...----------ui_print("Ur Message Here...");
Code:
Formating:-
format SYSTEM:--------------------------format("MTD", "system");
format DATA:----------------------------format("MTD", "userdata");
format CACHE:---------------------------format("MTD", "cache");
format SDEXT:---------------------------Don't Know...
Code:
Clean Up
format("yaffs2", "MTD", "system");
format("yaffs2", "MTD", "userdata");
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
run_program("/sbin/busybox", "rm", "-rf", "/sd-ext/*");
run_program("/sbin/busybox", "rm", "-rf", "/sdcard/.android_secure/*");
run_program("/sbin/busybox", "umount", "/sd-ext");
run_program("/sbin/e2fsck", "-pv", "/dev/block/mmcblk0p2");
Code:
Copy To System & Data:-
copy_dir PACKAGE:system SYSTEM:---------mount("MTD", "system", "/system");
........................................package_extract_dir("system", "/system");
copy_dir PACKAGE:data DATA:-------------mount("MTD", "userdata", "/data");
........................................package_extract_dir("data", "/data");
Copy To SDCard:-
copy_dir PACKAGE:sdcard SDCARD:---------mount("vfat","/dev/block/mmcblk0p1","/sdcard");
........................................package_extract_dir("sdcard", "/sdcard");
Code:
Copy To SD-EXT Works With EXT 2/3/4, btrfs, Reiserfs, jfs:-
copy_dir PACKAGE:SDEXT SDEXT:-----------run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
........................................package_extract_dir("sdext", "/sd-ext");
Copy To SD-EXT Externel Syntax:-
copy_dir PACKAGE:SDEXT SDEXT:-----------mount("ext4","/dev/block/mmcblk0p2","/sd-ext");
........................................package_extract_dir("sdext", "/sd-ext");
copy_dir PACKAGE:SDEXT SDEXT:-----------mount("ext3","/dev/block/mmcblk0p2","/sd-ext");
........................................package_extract_dir("sdext", "/sd-ext");
copy_dir PACKAGE:SDEXT SDEXT:-----------mount("ext2","/dev/block/mmcblk0p2","/sd-ext");
........................................package_extract_dir("sdext", "/sd-ext");
Code:
Deleting Folder:-
delete_recursive DATA:app----------delete_recursive("/data/app");
Deleting Files:-
delete DATA:etc/hosts--------------delete("/data/etc/hosts");
Folder Permission:-
set_perm_recursive 1000 1000 0771 0644 DATA:app---------set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
File Permission:-
set_perm 2000 2000 0771 DATA:etc------------------------set_perm(2000, 2000, 0771, "/data/etc");
Symlink Setup:-
symlink /data/app/apps.apk SYSTEM:app/apps.apk----------symlink("/data/app/apps.apk", "/system/app/apps.apk");
symlink /data/etc/hosts SYSTEM:etc/hosts----------------symlink("/data/etc/hosts", "/system/etc/hosts");
ToolBox Setup:-
symlink toolbox SYSTEM:bin/date-------------------------symlink("toolbox", "/system/bin/date");
Busybox Setup:-
run_program PACKAGE:installbusybox----------------------run_program("installbusybox");
........................................................set_perm(0, 1000, 0755, "/system/xbin/busybox");
Writing Boot:-
format BOOT:-------------------------------------------package_extract_file("boot.img","/tmp/boot.img");
write_raw_image PACKAGE:boot.img BOOT:..................write_raw_image("/tmp/boot.img", "boot");
........................................................delete("/tmp/boot.img");
Writing Boot:-
format BOOT:-------------------------------------------assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image PACKAGE:boot.img BOOT:..................write_raw_image("/tmp/boot.img", "boot"),
........................................................delete("/tmp/boot.img"));
Code:
Toolbox Setup Into Updater-Script:-
symlink("toolbox", "/system/bin/cat","/system/bin/chmod",
"/system/bin/chown","/system/bin/chownto",
"/system/bin/cmp","/system/bin/date",
"/system/bin/dd","/system/bin/df",
"/system/bin/dmesg","/system/bin/getevent",
"/system/bin/getprop","/system/bin/hd",
"/system/bin/id","/system/bin/ifconfig",
"/system/bin/iftop","/system/bin/insmod",
"/system/bin/ioctl","/system/bin/ionice",
"/system/bin/kill","/system/bin/ln",
"/system/bin/log","/system/bin/ls",
"/system/bin/lsmod","/system/bin/mkdir",
"/system/bin/mount","/system/bin/mv",
"/system/bin/nandread","/system/bin/netstat",
"/system/bin/newfs_msdos","/system/bin/notify",
"/system/bin/printenv","/system/bin/ps",
"/system/bin/renice","/system/bin/rm",
"/system/bin/rmdir","/system/bin/rmmod",
"/system/bin/route","/system/bin/schedtop",
"/system/bin/sendevent","/system/bin/setconsole",
"/system/bin/setprop","/system/bin/sleep",
"/system/bin/smd","/system/bin/start",
"/system/bin/stop","/system/bin/sync",
"/system/bin/top","/system/bin/umount",
"/system/bin/vmstat","/system/bin/watchprops",
"/system/bin/wipe");
set_perm(0, 0, 04755, "/system/bin/toolbox");
Code:
Busybox Setup Into Updater-Script:-
symlink("busybox", "/system/xbin/[","/system/xbin/[[","/system/xbin/addgroup",
"/system/xbin/adduser","/system/xbin/adjtimex","/system/xbin/ar",
"/system/xbin/arp","/system/xbin/arping","/system/xbin/ash",
"/system/xbin/awk","/system/xbin/basename","/system/xbin/bbconfig",
"/system/xbin/beep","/system/xbin/blkid","/system/xbin/brctl",
"/system/xbin/bunzip2","/system/xbin/bzcat","/system/xbin/bzip2",
"/system/xbin/cal","/system/xbin/cat","/system/xbin/catv",
"/system/xbin/chat","/system/xbin/chattr","/system/xbin/chgrp",
"/system/xbin/chmod","/system/xbin/chown","/system/xbin/chpasswd",
"/system/xbin/chpst","/system/xbin/chroot","/system/xbin/chrt",
"/system/xbin/chvt","/system/xbin/cksum","/system/xbin/clear",
"/system/xbin/cmp","/system/xbin/comm","/system/xbin/cp",
"/system/xbin/cpio","/system/xbin/crond","/system/xbin/crontab",
"/system/xbin/cryptpw","/system/xbin/cttyhack","/system/xbin/cut",
"/system/xbin/date","/system/xbin/dc","/system/xbin/dd",
"/system/xbin/deallocvt","/system/xbin/delgroup","/system/xbin/deluser",
"/system/xbin/depmod","/system/xbin/devmem","/system/xbin/df",
"/system/xbin/diff","/system/xbin/dirname","/system/xbin/dmesg",
"/system/xbin/dnsd","/system/xbin/dnsdomainname","/system/xbin/dos2unix",
"/system/xbin/du","/system/xbin/dumpkmap","/system/xbin/echo",
"/system/xbin/ed","/system/xbin/egrep","/system/xbin/eject",
"/system/xbin/env","/system/xbin/envdir","/system/xbin/envuidgid",
"/system/xbin/ether-wake","/system/xbin/expand","/system/xbin/expr",
"/system/xbin/fakeidentd","/system/xbin/false","/system/xbin/fbset",
"/system/xbin/fbsplash","/system/xbin/fdflush","/system/xbin/fdformat",
"/system/xbin/fdisk","/system/xbin/fgrep","/system/xbin/find",
"/system/xbin/findfs","/system/xbin/fold","/system/xbin/free",
"/system/xbin/fsck","/system/xbin/fsck.minix","/system/xbin/fsync",
"/system/xbin/ftpd","/system/xbin/ftpget","/system/xbin/ftpput",
"/system/xbin/fuser","/system/xbin/getopt","/system/xbin/getty",
"/system/xbin/grep","/system/xbin/gunzip","/system/xbin/gzip",
"/system/xbin/halt","/system/xbin/hd","/system/xbin/hdparm",
"/system/xbin/head","/system/xbin/hexdump","/system/xbin/hostid",
"/system/xbin/hostname","/system/xbin/httpd","/system/xbin/hush",
"/system/xbin/hwclock","/system/xbin/id","/system/xbin/ifconfig",
"/system/xbin/ifdown","/system/xbin/ifenslave","/system/xbin/ifplugd",
"/system/xbin/ifup","/system/xbin/inetd","/system/xbin/init",
"/system/xbin/insmod","/system/xbin/install","/system/xbin/ionice",
"/system/xbin/ip","/system/xbin/ipaddr","/system/xbin/ipcalc",
"/system/xbin/ipcrm","/system/xbin/ipcs","/system/xbin/iplink",
"/system/xbin/iproute","/system/xbin/iprule","/system/xbin/iptunnel",
"/system/xbin/kbd_mode","/system/xbin/kill","/system/xbin/killall",
"/system/xbin/killall5","/system/xbin/klogd","/system/xbin/last",
"/system/xbin/length","/system/xbin/less","/system/xbin/linux32",
"/system/xbin/linux64","/system/xbin/linuxrc","/system/xbin/ln",
"/system/xbin/loadfont","/system/xbin/loadkmap","/system/xbin/logger",
"/system/xbin/login","/system/xbin/logname","/system/xbin/logread",
"/system/xbin/losetup","/system/xbin/lpd","/system/xbin/lpq",
"/system/xbin/lpr","/system/xbin/ls","/system/xbin/lsattr",
"/system/xbin/lsmod","/system/xbin/lzmacat","/system/xbin/lzop",
"/system/xbin/lzopcat","/system/xbin/makedevs","/system/xbin/makemime",
"/system/xbin/man","/system/xbin/md5sum","/system/xbin/mdev",
"/system/xbin/mesg","/system/xbin/microcom","/system/xbin/mkdir",
"/system/xbin/mkdosfs","/system/xbin/mkfifo","/system/xbin/mkfs.minix",
"/system/xbin/mkfs.vfat","/system/xbin/mknod","/system/xbin/mkpasswd",
"/system/xbin/mkswap","/system/xbin/mktemp","/system/xbin/modprobe",
"/system/xbin/more","/system/xbin/mount","/system/xbin/mountpoint",
"/system/xbin/msh","/system/xbin/mt","/system/xbin/mv","/system/xbin/nameif",
"/system/xbin/nc","/system/xbin/netstat","/system/xbin/nice",
"/system/xbin/nmeter","/system/xbin/nohup","/system/xbin/nslookup",
"/system/xbin/od","/system/xbin/openvt","/system/xbin/passwd",
"/system/xbin/patch","/system/xbin/pgrep","/system/xbin/pidof",
"/system/xbin/ping","/system/xbin/ping6","/system/xbin/pipe_progress",
"/system/xbin/pivot_root","/system/xbin/pkill","/system/xbin/popmaildir",
"/system/xbin/poweroff","/system/xbin/printenv","/system/xbin/printf",
"/system/xbin/ps","/system/xbin/pscan","/system/xbin/pwd","/system/xbin/raidautorun",
"/system/xbin/rdate","/system/xbin/rdev","/system/xbin/readahead",
"/system/xbin/readlink","/system/xbin/readprofile","/system/xbin/realpath",
"/system/xbin/reformime","/system/xbin/renice","/system/xbin/reset",
"/system/xbin/resize","/system/xbin/rm","/system/xbin/rmdir",
"/system/xbin/rmmod","/system/xbin/route","/system/xbin/rtcwake",
"/system/xbin/run-parts","/system/xbin/runlevel","/system/xbin/runsv",
"/system/xbin/runsvdir","/system/xbin/rx","/system/xbin/script",
"/system/xbin/scriptreplay","/system/xbin/sed","/system/xbin/sendmail",
"/system/xbin/seq","/system/xbin/setarch","/system/xbin/setconsole",
"/system/xbin/setfont","/system/xbin/setkeycodes","/system/xbin/setlogcons",
"/system/xbin/setsid","/system/xbin/setuidgid","/system/xbin/sh",
"/system/xbin/sha1sum","/system/xbin/sha256sum","/system/xbin/sha512sum",
"/system/xbin/showkey","/system/xbin/slattach","/system/xbin/sleep",
"/system/xbin/softlimit","/system/xbin/sort","/system/xbin/split",
"/system/xbin/start-stop-daemon","/system/xbin/stat","/system/xbin/strings",
"/system/xbin/stty","/system/xbin/sulogin","/system/xbin/sum",
"/system/xbin/sv","/system/xbin/svlogd","/system/xbin/swapoff",
"/system/xbin/swapon","/system/xbin/switch_root","/system/xbin/sync",
"/system/xbin/sysctl","/system/xbin/syslogd","/system/xbin/tac",
"/system/xbin/tail","/system/xbin/tar","/system/xbin/tcpsvd",
"/system/xbin/tee","/system/xbin/telnet","/system/xbin/telnetd",
"/system/xbin/test","/system/xbin/tftp","/system/xbin/tftpd",
"/system/xbin/time","/system/xbin/timeout","/system/xbin/top",
"/system/xbin/touch","/system/xbin/tr","/system/xbin/traceroute",
"/system/xbin/true","/system/xbin/tty","/system/xbin/ttysize",
"/system/xbin/tunctl","/system/xbin/udpsvd","/system/xbin/umount",
"/system/xbin/uname","/system/xbin/uncompress","/system/xbin/unexpand",
"/system/xbin/uniq","/system/xbin/unix2dos","/system/xbin/unlzma",
"/system/xbin/unlzop","/system/xbin/unzip","/system/xbin/uptime",
"/system/xbin/usleep","/system/xbin/uudecode","/system/xbin/uuencode",
"/system/xbin/vconfig","/system/xbin/vi","/system/xbin/vlock",
"/system/xbin/volname","/system/xbin/watch","/system/xbin/watchdog",
"/system/xbin/wc","/system/xbin/wget","/system/xbin/which",
"/system/xbin/who","/system/xbin/whoami","/system/xbin/xargs",
"/system/xbin/yes","/system/xbin/zcat","/system/xbin/zcip");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
Code:
copy_dir PACKAGE:SDEXT SDEXT:----------mount("ext4","/dev/block/mmcblk0p2","/sd-ext");
.......................................package_extract_dir("sdext", "/sd-ext");
this code only works on ext3 or ext4 i think the chef who is creating an updater-script should specify this. for ext2 you need to mount it as ext2, you can also try "auto" but might encounter issues with the recovery running kernel, and other stuff
only ext3 can be mounted as ext4 and vice-versa
also for ease of use I will provide the symlinking from my updater-script for toolbox and busybox since is pretty unhandy to write them - should apply to any toolbox and busybox version
Code:
ui_print("-Creating toolbox symlinks");
symlink("toolbox", "/system/bin/chownto", "/system/bin/getevent", "/system/bin/getprop", "/system/bin/ifconfig", "/system/bin/iftop", "/system/bin/ioctl", "/system/bin/log", "/system/bin/nandread", "/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/schedtop", "/system/bin/sendevent", "/system/bin/setprop", "/system/bin/smd", "/system/bin/start", "/system/bin/stop", "/system/bin/vmstat", "/system/bin/watchprops", "/system/bin/wipe", "/system/bin/top");
ui_print("-Creating busybox symlinks");
symlink("/system/xbin/busybox", "/system/xbin/[", "/system/xbin/[[", "/system/xbin/addgroup", "/system/xbin/adduser", "/system/xbin/adjtimex", "/system/xbin/ar", "/system/xbin/arp", "/system/xbin/arping", "/system/xbin/ash", "/system/xbin/awk", "/system/xbin/basename", "/system/xbin/bbconfig", "/system/xbin/beep", "/system/xbin/blkid", "/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat", "/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat", "/system/xbin/catv", "/system/xbin/chat", "/system/xbin/chattr", "/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chpasswd", "/system/xbin/chpst", "/system/xbin/chroot", "/system/xbin/chrt", "/system/xbin/chvt", "/system/xbin/cksum", "/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm", "/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond", "/system/xbin/crontab", "/system/xbin/cryptpw", "/system/xbin/cttyhack", "/system/xbin/cut", "/system/xbin/date", "/system/xbin/dc", "/system/xbin/dd", "/system/xbin/deallocvt", "/system/xbin/delgroup", "/system/xbin/deluser", "/system/xbin/depmod", "/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff", "/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd", "/system/xbin/dnsdomainname", "/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/dumpkmap", "/system/xbin/echo", "/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/eject", "/system/xbin/env", "/system/xbin/envdir", "/system/xbin/envuidgid", "/system/xbin/ether-wake", "/system/xbin/expand", "/system/xbin/expr", "/system/xbin/fakeidentd", "/system/xbin/false", "/system/xbin/fbset", "/system/xbin/fbsplash", "/system/xbin/fdflush", "/system/xbin/fdformat", "/system/xbin/fdisk", "/system/xbin/fgrep", "/system/xbin/find", "/system/xbin/findfs", "/system/xbin/fold", "/system/xbin/free", "/system/xbin/freeramdisk", "/system/xbin/fsck", "/system/xbin/fsck.minix", "/system/xbin/fsync", "/system/xbin/ftpd", "/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser", "/system/xbin/getopt", "/system/xbin/getty", "/system/xbin/grep", "/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt", "/system/xbin/hd", "/system/xbin/hdparm", "/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/hostid", "/system/xbin/hostname", "/system/xbin/httpd", "/system/xbin/hush", "/system/xbin/hwclock", "/system/xbin/id", "/system/xbin/ifdown", "/system/xbin/ifenslave", "/system/xbin/ifplugd", "/system/xbin/ifup", "/system/xbin/inetd", "/system/xbin/init", "/system/xbin/insmod", "/system/xbin/install", "/system/xbin/ionice", "/system/xbin/ip", "/system/xbin/ipaddr", "/system/xbin/ipcalc", "/system/xbin/ipcrm", "/system/xbin/ipcs", "/system/xbin/iplink", "/system/xbin/iproute", "/system/xbin/iprule", "/system/xbin/iptunnel", "/system/xbin/kbd_mode", "/system/xbin/kill", "/system/xbin/killall", "/system/xbin/killall5", "/system/xbin/klogd", "/system/xbin/last", "/system/xbin/length", "/system/xbin/less", "/system/xbin/linux32", "/system/xbin/linux64", "/system/xbin/linuxrc", "/system/xbin/ln", "/system/xbin/loadfont", "/system/xbin/loadkmap", "/system/xbin/logger", "/system/xbin/login", "/system/xbin/logname", "/system/xbin/logread", "/system/xbin/losetup", "/system/xbin/lpd", "/system/xbin/lpq", "/system/xbin/lpr", "/system/xbin/ls", "/system/xbin/lsattr", "/system/xbin/lsmod", "/system/xbin/lzmacat", "/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/makedevs", "/system/xbin/makemime", "/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mdev", "/system/xbin/mesg", "/system/xbin/microcom", "/system/xbin/mkdir", "/system/xbin/mkdosfs", "/system/xbin/mkfifo", "/system/xbin/mkfs.minix", "/system/xbin/mkfs.vfat", "/system/xbin/mknod", "/system/xbin/mkpasswd", "/system/xbin/mkswap", "/system/xbin/mktemp", "/system/xbin/modprobe", "/system/xbin/more", "/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/msh", "/system/xbin/mt", "/system/xbin/mv", "/system/xbin/nameif", "/system/xbin/nc", "/system/xbin/netstat", "/system/xbin/nice", "/system/xbin/nmeter", "/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/od", "/system/xbin/openvt", "/system/xbin/passwd", "/system/xbin/patch", "/system/xbin/pgrep", "/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/ping6", "/system/xbin/pipe_progress", "/system/xbin/pivot_root", "/system/xbin/pkill", "/system/xbin/popmaildir", "/system/xbin/poweroff", "/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pscan", "/system/xbin/pwd", "/system/xbin/raidautorun", "/system/xbin/rdate", "/system/xbin/rdev", "/system/xbin/readahead", "/system/xbin/readlink", "/system/xbin/readprofile", "/system/xbin/realpath", "/system/xbin/reformime", "/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize", "/system/xbin/rm", "/system/xbin/rmdir", "/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/rtcwake", "/system/xbin/run-parts", "/system/xbin/runlevel", "/system/xbin/runsv", "/system/xbin/runsvdir", "/system/xbin/rx", "/system/xbin/script", "/system/xbin/scriptreplay", "/system/xbin/sed", "/system/xbin/sendmail", "/system/xbin/seq", "/system/xbin/setarch", "/system/xbin/setconsole", "/system/xbin/setfont", "/system/xbin/setkeycodes", "/system/xbin/setlogcons", "/system/xbin/setsid", "/system/xbin/setuidgid", "/system/xbin/sha1sum", "/system/xbin/sha256sum", "/system/xbin/sha512sum", "/system/xbin/showkey", "/system/xbin/slattach", "/system/xbin/sleep", "/system/xbin/softlimit", "/system/xbin/sort", "/system/xbin/split", "/system/xbin/start-stop-daemon", "/system/xbin/stat", "/system/xbin/strings", "/system/xbin/stty", "/system/xbin/sulogin", "/system/xbin/sum", "/system/xbin/sv", "/system/xbin/svlogd", "/system/xbin/swapoff", "/system/xbin/swapon", "/system/xbin/switch_root", "/system/xbin/sync", "/system/xbin/sysctl", "/system/xbin/syslogd", "/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar", "/system/xbin/tcpsvd", "/system/xbin/tee", "/system/xbin/telnet", "/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp", "/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout", "/system/xbin/touch", "/system/xbin/tr", "/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/tty", "/system/xbin/ttysize", "/system/xbin/tunctl", "/system/xbin/udpsvd", "/system/xbin/umount", "/system/xbin/uname", "/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq", "/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop", "/system/xbin/unzip", "/system/xbin/uptime", "/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode", "/system/xbin/vconfig", "/system/xbin/vi", "/system/xbin/vlock", "/system/xbin/volname", "/system/xbin/watch", "/system/xbin/watchdog", "/system/xbin/wc", "/system/xbin/wget", "/system/xbin/which", "/system/xbin/who", "/system/xbin/whoami", "/system/xbin/xargs", "/system/xbin/yes", "/system/xbin/zcat", "/system/xbin/zcip");
also
Code:
ui_print("-Creating busybox symlinks");
is pretty self explanatory what is does, prints the text between "" on screen
and as a bonus and ease of use (for my experience show and tell is the best method) this is my updater-script used in the last version of my rom, to see a start to end working updater-script (edify)
Code:
#
# Generated by dsixda's HTC Android Kitchen
# xda-developers.com
#
show_progress(0.500000, 0);
ui_print("-Checking Model ID");
assert(getprop("ro.product.device") == "bravo" || getprop("ro.build.product") == "bravo" || getprop("ro.product.board") == "bravo");
ui_print("-Success!");
ui_print("-Model ID - HTC Bravo");
ui_print("-Ok to proceed");
ui_print("Now flashing InsertCoin HD Port 1.8f");
ui_print("Please be patient");
ui_print("1st boot may take a few minutes");
show_progress(0.500000, 40);
ui_print("-Wiping system and cache.");
format("MTD", "cache");
format("MTD", "system");
delete("/data/local");
delete("/data/app");
delete_recursive("/data/data/com.android.vending/cache");
ui_print("-Writing SDEXT");
mount("ext4","/dev/block/mmcblk0p2","/sd-ext");
package_extract_dir("sd-ext", "/sd-ext");
ui_print("-Writing SYSTEM");
mount("MTD", "system", "/system");
package_extract_dir("system", "/system");
show_progress(0.400000, 0);
ui_print("-Creating toolbox symlinks");
symlink("toolbox", "/system/bin/chownto", "/system/bin/getevent", "/system/bin/getprop", "/system/bin/ifconfig", "/system/bin/iftop", "/system/bin/ioctl", "/system/bin/log", "/system/bin/nandread", "/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/schedtop", "/system/bin/sendevent", "/system/bin/setprop", "/system/bin/smd", "/system/bin/start", "/system/bin/stop", "/system/bin/vmstat", "/system/bin/watchprops", "/system/bin/wipe", "/system/bin/top");
ui_print("-Creating busybox symlinks");
symlink("/system/xbin/busybox", "/system/xbin/[", "/system/xbin/[[", "/system/xbin/addgroup", "/system/xbin/adduser", "/system/xbin/adjtimex", "/system/xbin/ar", "/system/xbin/arp", "/system/xbin/arping", "/system/xbin/ash", "/system/xbin/awk", "/system/xbin/basename", "/system/xbin/bbconfig", "/system/xbin/beep", "/system/xbin/blkid", "/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat", "/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat", "/system/xbin/catv", "/system/xbin/chat", "/system/xbin/chattr", "/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chpasswd", "/system/xbin/chpst", "/system/xbin/chroot", "/system/xbin/chrt", "/system/xbin/chvt", "/system/xbin/cksum", "/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm", "/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond", "/system/xbin/crontab", "/system/xbin/cryptpw", "/system/xbin/cttyhack", "/system/xbin/cut", "/system/xbin/date", "/system/xbin/dc", "/system/xbin/dd", "/system/xbin/deallocvt", "/system/xbin/delgroup", "/system/xbin/deluser", "/system/xbin/depmod", "/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff", "/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd", "/system/xbin/dnsdomainname", "/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/dumpkmap", "/system/xbin/echo", "/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/eject", "/system/xbin/env", "/system/xbin/envdir", "/system/xbin/envuidgid", "/system/xbin/ether-wake", "/system/xbin/expand", "/system/xbin/expr", "/system/xbin/fakeidentd", "/system/xbin/false", "/system/xbin/fbset", "/system/xbin/fbsplash", "/system/xbin/fdflush", "/system/xbin/fdformat", "/system/xbin/fdisk", "/system/xbin/fgrep", "/system/xbin/find", "/system/xbin/findfs", "/system/xbin/fold", "/system/xbin/free", "/system/xbin/freeramdisk", "/system/xbin/fsck", "/system/xbin/fsck.minix", "/system/xbin/fsync", "/system/xbin/ftpd", "/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser", "/system/xbin/getopt", "/system/xbin/getty", "/system/xbin/grep", "/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt", "/system/xbin/hd", "/system/xbin/hdparm", "/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/hostid", "/system/xbin/hostname", "/system/xbin/httpd", "/system/xbin/hush", "/system/xbin/hwclock", "/system/xbin/id", "/system/xbin/ifdown", "/system/xbin/ifenslave", "/system/xbin/ifplugd", "/system/xbin/ifup", "/system/xbin/inetd", "/system/xbin/init", "/system/xbin/insmod", "/system/xbin/install", "/system/xbin/ionice", "/system/xbin/ip", "/system/xbin/ipaddr", "/system/xbin/ipcalc", "/system/xbin/ipcrm", "/system/xbin/ipcs", "/system/xbin/iplink", "/system/xbin/iproute", "/system/xbin/iprule", "/system/xbin/iptunnel", "/system/xbin/kbd_mode", "/system/xbin/kill", "/system/xbin/killall", "/system/xbin/killall5", "/system/xbin/klogd", "/system/xbin/last", "/system/xbin/length", "/system/xbin/less", "/system/xbin/linux32", "/system/xbin/linux64", "/system/xbin/linuxrc", "/system/xbin/ln", "/system/xbin/loadfont", "/system/xbin/loadkmap", "/system/xbin/logger", "/system/xbin/login", "/system/xbin/logname", "/system/xbin/logread", "/system/xbin/losetup", "/system/xbin/lpd", "/system/xbin/lpq", "/system/xbin/lpr", "/system/xbin/ls", "/system/xbin/lsattr", "/system/xbin/lsmod", "/system/xbin/lzmacat", "/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/makedevs", "/system/xbin/makemime", "/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mdev", "/system/xbin/mesg", "/system/xbin/microcom", "/system/xbin/mkdir", "/system/xbin/mkdosfs", "/system/xbin/mkfifo", "/system/xbin/mkfs.minix", "/system/xbin/mkfs.vfat", "/system/xbin/mknod", "/system/xbin/mkpasswd", "/system/xbin/mkswap", "/system/xbin/mktemp", "/system/xbin/modprobe", "/system/xbin/more", "/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/msh", "/system/xbin/mt", "/system/xbin/mv", "/system/xbin/nameif", "/system/xbin/nc", "/system/xbin/netstat", "/system/xbin/nice", "/system/xbin/nmeter", "/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/od", "/system/xbin/openvt", "/system/xbin/passwd", "/system/xbin/patch", "/system/xbin/pgrep", "/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/ping6", "/system/xbin/pipe_progress", "/system/xbin/pivot_root", "/system/xbin/pkill", "/system/xbin/popmaildir", "/system/xbin/poweroff", "/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pscan", "/system/xbin/pwd", "/system/xbin/raidautorun", "/system/xbin/rdate", "/system/xbin/rdev", "/system/xbin/readahead", "/system/xbin/readlink", "/system/xbin/readprofile", "/system/xbin/realpath", "/system/xbin/reformime", "/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize", "/system/xbin/rm", "/system/xbin/rmdir", "/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/rtcwake", "/system/xbin/run-parts", "/system/xbin/runlevel", "/system/xbin/runsv", "/system/xbin/runsvdir", "/system/xbin/rx", "/system/xbin/script", "/system/xbin/scriptreplay", "/system/xbin/sed", "/system/xbin/sendmail", "/system/xbin/seq", "/system/xbin/setarch", "/system/xbin/setconsole", "/system/xbin/setfont", "/system/xbin/setkeycodes", "/system/xbin/setlogcons", "/system/xbin/setsid", "/system/xbin/setuidgid", "/system/xbin/sha1sum", "/system/xbin/sha256sum", "/system/xbin/sha512sum", "/system/xbin/showkey", "/system/xbin/slattach", "/system/xbin/sleep", "/system/xbin/softlimit", "/system/xbin/sort", "/system/xbin/split", "/system/xbin/start-stop-daemon", "/system/xbin/stat", "/system/xbin/strings", "/system/xbin/stty", "/system/xbin/sulogin", "/system/xbin/sum", "/system/xbin/sv", "/system/xbin/svlogd", "/system/xbin/swapoff", "/system/xbin/swapon", "/system/xbin/switch_root", "/system/xbin/sync", "/system/xbin/sysctl", "/system/xbin/syslogd", "/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar", "/system/xbin/tcpsvd", "/system/xbin/tee", "/system/xbin/telnet", "/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp", "/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout", "/system/xbin/touch", "/system/xbin/tr", "/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/tty", "/system/xbin/ttysize", "/system/xbin/tunctl", "/system/xbin/udpsvd", "/system/xbin/umount", "/system/xbin/uname", "/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq", "/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop", "/system/xbin/unzip", "/system/xbin/uptime", "/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode", "/system/xbin/vconfig", "/system/xbin/vi", "/system/xbin/vlock", "/system/xbin/volname", "/system/xbin/watch", "/system/xbin/watchdog", "/system/xbin/wc", "/system/xbin/wget", "/system/xbin/which", "/system/xbin/who", "/system/xbin/whoami", "/system/xbin/xargs", "/system/xbin/yes", "/system/xbin/zcat", "/system/xbin/zcip");
ui_print("-Creating addtional symlinks");
symlink("/system/sd/.customize","/system/customize");
symlink("/system/sd/.etc/slideshow","/system/etc/slideshow");
symlink("/system/sd/.etc/hosts","/system/etc/hosts");
symlink("/system/sd/.lib/VR","/system/lib/VR");
symlink("/system/sd/.lib/libLaputaEngine.so","/system/lib/libLaputaEngine.so");
symlink("/system/sd/.lib/libLaputaLbJni.so","/system/lib/libLaputaLbJni.so");
symlink("/system/sd/.lib/libLaputaLbProviderJni.so","/system/lib/libLaputaLbProviderJni.so");
symlink("/system/sd/.lib/libLaputaLogJni.so","/system/lib/libLaputaLogJni.so");
symlink("/system/sd/.lib/libAdobeReader.so","/system/lib/libAdobeReader.so");
symlink("/system/sd/.lib/libflashplayer.so","/system/lib/libflashplayer.so");
symlink("/system/sd/.lib/libvoicesearch.so","/system/lib/libvoicesearch.so");
symlink("/system/sd/.systemapp/HtcLaputa.apk","/system/app/HtcLaputa.apk");
symlink("/system/sd/.systemapp/HtcLaputaInstaller.apk","/system/app/HtcLaputaInstaller.apk");
symlink("/system/sd/.systemapp/HtcLaputaWidget.apk","/system/app/HtcLaputaWidget.apk");
symlink("/system/sd/.systemapp/LocationPickerLaputa.apk","/system/app/LocationPickerLaputa.apk");
symlink("/system/sd/.systemapp/install_flash_player.apk","/system/app/install_flash_player.apk");
symlink("/system/sd/.systemapp/AdobeReader.apk","/system/app/AdobeReader.apk");
symlink("/system/sd/.systemapp/VoiceSearch.apk","/system/app/VoiceSearch.apk");
symlink("/system/sd/.systemapp/teeter.apk","/system/app/teeter.apk");
symlink("/system/sd/.systemapp/TransferData.apk","/system/app/TransferData.apk");
symlink("/system/sd/.systemapp/BlackBoard.apk","/system/app/BlackBoard.apk");
symlink("/system/sd/.systemapp/Metal.apk","/system/app/Metal.apk");
symlink("/system/sd/.systemapp/Quickoffice.apk","/system/app/Quickoffice.apk");
symlink("/system/sd/.systemapp/Wood.apk","/system/app/Wood.apk");
symlink("/system/sd/.systemapp/Translator.apk","/system/app/Translator.apk");
symlink("dumpstate","/system/bin/bugreport");
symlink("dumpstate","/system/bin/dumpcrash");
symlink("/system/bin/su", "/system/xbin/su");
ui_print("-Setting Permissions");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/local");
set_perm_recursive(1000, 1000, 0771, 0644, "/sd-ext/app");
set_perm_recursive(1000, 1000, 0771, 0644, "/sd-ext/.systemapp");
set_perm_recursive(1000, 1000, 0771, 0644, "/sd-ext/.etc/slideshow");
set_perm_recursive(1000, 1000, 0771, 0644, "/sd-ext/.customize");
set_perm_recursive(0, 0, 0755, 0644, "/system/");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 06755, "/system/bin/ip");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 3003, 02755, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 04755, "/system/bin/sysrw");
set_perm(0, 0, 04755, "/system/bin/sysro");
set_perm(0, 0, 06755, "/system/bin/su");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 06755, "/system/xbin");
set_perm(0, 0, 04755, "/system/etc/ppp/ip-up-vpn");
set_perm(0, 0, 04755, "/system/xbin/busybox");
set_perm(0, 0, 04755, "/system/bin/toolbox");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib/modules, ");
set_perm(0, 2000, 0755, "/system/xbin, ");
set_perm(0, 0, 04777, "/system/bin/e2fsck");
set_perm(0, 0, 04777, "/system/bin/tune2fs");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0755, "/system/etc/init.d/40a2sd");
set_perm(0, 2000, 0755, "/system/bin/e2fsck");
set_perm(0, 2000, 0755, "/system/bin/tune2fs");
ui_print("-Running aditional scripts");
run_program("installbusybox");
run_program("move_cache_sd");
show_progress(0.200000, 10);
ui_print("-Writing boot.img");
package_extract_file("boot.img","/tmp/boot.img");
write_raw_image("/tmp/boot.img", "boot");
delete("/tmp/boot.img");
show_progress(0.100000, 0);
ui_print("-Flashing Complete");
ui_print("Welcome to");
ui_print("InsertCoin HD Port 1.8f");
ui_print("Remember that 1st boot will take a while");
ui_print("Do not panic, just wait");
ui_print("If you are getting bootloop");
ui_print("Wipe all then reflash");
unmount("/system");
unmount("/sd-ext");
some are rom specific but take them as examples
Also be very carefully what binary you use since there are some version floating around, and with the update-binary comes the syntax.
For example:
with some versions of binary the mount command
Code:
mount("ext4","/dev/block/mmcblk0p2","/sd-ext");
requires 3 parameters
Code:
mount("ext3", "EMMC", "/dev/block/mmcblk0p26", "/data");
requires 4 if you use only 3 you'll get some error
This happened to me 2 times already
Maybe other commands have changed syntax with other binaries, this is the only one I have encounter.
Hope all the info helps, I'm pretty unskilled on Edify syntax myself, I think I've spent 1 week to convert from update to updater an create a working script
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
this works on any type of ext
delete("/data/local");
delete("/data/app");
delete_recursive("/data/data/com.android.vending/cache");
bro. plz mount ur data partition b4 editing/deleting anything on DATA partition...
run_program("installbusybox");
its not necessary bcoz u already symlink ur busybox in updater-script with this permission.
Code:
set_perm(0, 0, 04755, "/system/xbin/busybox");
Code:
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
package_extract_dir("sdext", "/sd-ext");
mount/format/copy sdext is not a good idea, because the Recovery is not under control of ROM zipfile. ROM can not assume that kernel of recovery support required FS format.
So the best way is mount /sdcard(fat32), copy sd-ext file to /sdcard/, then unzip/copy files at first boot time.
Code:
mount("vfat","/dev/block/mmcblk0p1","/sdcard");
ui_print("Unpacking SDCARD files...");
package_extract_dir("sd-ext", "/sdcard");
ok just flash this file...n check ur sd-ext
ext2.txt
ext3.txt
ext4.txt
ext4_Busybox.txt
if all files r present in sd-ext then ur recovery kernel support ext 2/3/4 file system...
just testing with other file system...
Code:
# Script Version: 1.0
ui_print(" ");
ui_print("-Testing EXT 4 File System With Busybox");
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
package_extract_dir("ext4_Busybox", "/sd-ext");
unmount("/sd-ext");
ui_print(" ");
ui_print("-Testing EXT 4 File System");
mount("ext4","/dev/block/mmcblk0p2","/sd-ext");
package_extract_dir("ext4", "/sd-ext");
unmount("/sd-ext");
ui_print(" ");
ui_print("-Testing EXT 3 File System");
mount("ext3","/dev/block/mmcblk0p2","/sd-ext");
package_extract_dir("ext3", "/sd-ext");
unmount("/sd-ext");
ui_print(" ");
ui_print("-Testing EXT 2 File System");
mount("ext2","/dev/block/mmcblk0p2","/sd-ext");
package_extract_dir("ext2", "/sd-ext");
unmount("/sd-ext");
ui_print(" ");
ui_print("-Testing Completed");
Hi,
ReiserFS file system works with this syntax's
Code:
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
package_extract_dir("ReiserFS", "/sd-ext");
unmount("/sd-ext");
plz give me an btrfs supported kernel...will test it too...
also i know how to patch a recovery with favorite kernel...
this mounts ur ext as ext2 no matter what ext you have or recovery
Code:
~ # busybox mount -t auto /dev/block/mmcblk0p2 /sd-ext
busybox mount -t auto /dev/block/mmcblk0p2 /sd-ext
~ # mount | grep sd-ext
mount | grep sd-ext
/dev/block/mmcblk0p2 on /sd-ext type ext2 (rw,relatime,barrier=1,data=ordered)
~ #
Hi,
after learning more about Edify Syntax...found some useful info...
here is two method for writing boot.img
Code:
package_extract_file("boot.img","/tmp/boot.img");
write_raw_image("/tmp/boot.img", "boot");
delete("/tmp/boot.img");
or
Code:
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
#Clean up
format("yaffs2", "MTD", "system");
format("yaffs2", "MTD", "userdata");
run_program("/sbin/busybox", "mount", "-t", "auto", "/dev/block/mmcblk0p2", "/sd-ext");
run_program("/sbin/busybox", "rm", "-rf", "/sd-ext/*");
run_program("/sbin/busybox", "rm", "-rf", "/sdcard/.android_secure/*");
run_program("/sbin/busybox", "umount", "/sd-ext");
run_program("/sbin/e2fsck", "-pv", "/dev/block/mmcblk0p2");
Great TUT!!!!
Could someone give an explanation of how the "show_progess" works?
Thanks
You may have figured this out already but here it is anyway:
The left number is the % complete in the form of 0.9 for 90%, 1.0 for 100% etc. Seems to likes just whole number like 0.9 But 0.95 does not seem to work right. And it does not update until after the prior task ends
The right digit is how long it takes to paint the progress bar for the new % complete. I found that 1 is the best value for all but the last progress. Then for the last jumping from say 30 percent to 90 percent the best number is 4 or else it never display
100% is not worthwhile using since it never gets to display if all tasks are done. Just let it display Update Done on it's own.
I am trying to learn how to create the edify scripts. I have several ring tones and live wall papers that I like to install and want to just flash them instead of using the adb. I have two folders in the root of the zip file the META-INF and system. Under the system folder I have an app folder, with apk's, and a lib folder for their libraries. These were created on Wnidows 7 64bit using Notepad++. One of the best test editors for Windows I may say, been using it for years. There is an extra blank line at the end, just does not show in the code blocks. I am testing this on my Evo 4g running CM7 nightly 91.
Here was my amend script that worked
Code:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
set_perm_recursive 0 0 0755 0644 SYSTEM:lib
show_progress 0.1 10
This is my first edify script that does not work (Status 6)
Code:
show_progress(0.1, 0);
mount("MTD", "system", "/system");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib");
unmount("/system");
show_progress(0.1, 10);
Then my latest edify script that runs but does not install the files
Code:
ui_print("Installing Live Wall Paper...");
ui_print("Mounting mount points...");
show_progress(0.1, 0);
run_program("/sbin/mount", "/dev/block/mtdblock4", "/system");
package_extract_dir("system", "/system");
show_progress(0.1, 10);
ui_print("Setting Permissions...");
show_progress(0.2, 0);
set_perm_recursive(0, 0, 0755, 0644, "system/app");
set_perm_recursive(0, 0, 0755, 0644, "system/lib");
show_progress(0.2, 10);
ui_print("Unmounting mount points...");
run_program("/sbin/umount", "/system");
ui_print("Update Complete.");
This code works Finally!
Code:
ui_print("Installing Live Wall Paper...");
ui_print("Mounting mount points...");
show_progress(0.1, 0);
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
show_progress(0.1, 10);
ui_print("Setting Permissions...");
show_progress(0.2, 0);
set_perm_recursive(0, 0, 0755, 0644, "system/app");
set_perm_recursive(0, 0, 0755, 0644, "system/lib");
show_progress(0.2, 10);
ui_print("Unmounting mount points...");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Update Complete.");
I want to learn this but I'm just going in circles now.
1. Why would my first edify script not run and gave me a "Status 6".
2. Why does run_program("/sbin/busybox", "mount", "/system"); work but not mount("MTD", "system", "/system"); for me.
Any help would be really really helpful. Thanks in advance.
i know many use the dsixda kitchen so here's another way on installing busybox:
set_perm(0, 1000, 0755, "/system/xbin/busybox");
run_program("/sbin/sh","-c",
concat("( cd /system/xbin ; ",
" ./busybox --install -s /system/xbin )"));
Also useful as a temple for executing more then one operation
Below is a list of functions that can be used in Edify scripts and explanations about them.
This info was compiled from here.
Credit: http://www.netmite.com/android/mydro.../releasetools/
As you can see this is from "www.netmite.com/android/mydroid/2.0/build/tools/releasetools/" so it may be outdated.
NOTE: I also compared this info with the leaked DK28 FROYO updater-script, it seems that for the samsung phones BML is used in place of MTD.
If someone can confirm this I will edit the values below.
Note: The double quotes are shown where they are required.
If someone has a better resource for this stuff, please share it!
I hope someone finds this useful.
==================================================
Assert that the current system build fingerprint is one of the given strings.
Code:
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "string" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "string");
Assert that the build on the device is older (or the same as) the given timestamp.
Code:
assert(!less_than_int(timestamp, getprop("ro.build.date.utc")));
Assert that the device identifier is the given string.
Code:
assert(getprop("ro.product.device") == "string1" ||
getprop("ro.build.product") == "string2");
Asert that the bootloader version is one of the given strings.
Code:
assert(getprop("ro.bootloader") == "string1" ||
getprop("ro.bootloader") == "string2");
Update the progress bar, advancing it over 'frac' over the next 'dur' seconds. 'dur' may be zero to advance it via SetProgress commands instead of by time.
Code:
show_progress(frac, dur);
Set the position of the progress bar within the chunk defined by the most recent ShowProgress call. 'frac' should be in [0,1] format.
Code:
set_progress(frac);
Check that the given file (or MTD reference) has one of the given sha1 hashes. See notes above about MTD!
Code:
assert(apply_patch_check("filepath", "sha1Hash", "sha1Hash"));
Check that there's at least 'amount' space that can be made available on /cache.
Code:
assert(apply_patch_space(amount));
Mount the given 'what' at the given path. 'what' should be a partition name if kind is "MTD", or a block device if kind is "vfat". No other values of 'kind' are supported. See notes above about MTD!
Code:
mount("kind", "what", "path");
Unpack a given directory from the OTA package into the given destination directory.
Code:
package_extract_dir("src", "dst");
Log a message to the screen (if the logs are visible).
Code:
ui_print("message");
Format the given MTD partition. See notes above about MTD!
Code:
format("MTD", "partition");
Delete files
Code:
delete("pathToFile1", "pathToFile2", "pathToFile3");
Apply binary patches to the given srcfile to produce tgtfile (which may be "-" to indicate overwriting the source file.
Code:
apply_patch("sourceFile", "targetFile", targetSHA1, targetSize, "patchSHA1atchFile");
Arrange to update the given firmware image.
Code:
assert(package_extract_file("firmware.bin", "/tmp/firmware.bin"),
write_firmware_image("/tmp/firmware.bin", "firmware.bin"),
delete("/tmp/firmware.bin"));
Write the given package file into the given MTD partition. See notes above about MTD!
Code:
assert(package_extract_file("partition.img", "/tmp/partition.img"),
write_raw_image("/tmp/partition.img", "partition"),
delete("/tmp/partition.img"));
Set file ownership and permissions.
Code:
set_perm(uid, gid, mode, "pathtofile");
Recursively set path ownership and permissions.
Code:
set_perm_recursive(uid, gid, dmode, fmode, "path");
Create symlinks.
Code:
symlink("dest", "pathToLink1", "pathToLink2", "pathToLink3");
RESERVED for updater-script examples.
Syntax:
Code:
Amend Code
Edify Code
Copying a directory from the update package to the phone:
Code:
Amend: copy_dir PACKAGE:system SYSTEM:
Edify: package_extract_dir("system", "/system");
The first parameter is the direct location inside of the package.
The second location is the destination on the phone.
Mounting /data /system and /cache in Edify
Code:
run_program("/sbin/mount", "/dev/block/stl9", "/system");
run_program("/sbin/mount", "/dev/block/stl10", "/data");
run_program("/sbin/mount", "/dev/block/stl11", "/cache");
Printing a UI Message in Edify
Code:
ui_print("Some text here");
Create a symlink in Edify:
Code:
symlink("from","to");
Setting permissions in Edify:
Code:
Single file: set_perm(0, 0, 06755, "/system/xbin/su");
Recursive: set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
Run a program in Edify:
Code:
run_program("filetorun", "option1", "option 2", "option 3");
Delete a location recursively (like Amend's format):
Code:
delete_recursive("/path/to/delete");
Remember that script functions that take options (For example, run_program) must have each item that would require a space between it to be surrounded in double quotes, and followed by a comma. The last parameter must not have a comma afterwards.
Remember that ALL edify commands must end with a semi-colon.
SOURCE
#INTERNET
#XDA
#LITTLE bit MINE
Thank you!
Sent from my HTC One X
Hey guys re edited the thread due to it's dead xD
Now how to edit Updater Script?
Well then allow me to teach you the basics, it's very simple indeed, that is if your a ROM developer with a creative mind
Here are the simple steps, you can easy follow right?
1. open up ROM zip file
2. go to META-INF
3. open "com" then google, last but not least android
4. open up Updater Script
Now that we done all that, lets move on...
Firstly now I know I didn't mention this earlier on... but tell me this, do you like how the ROM installs without a Welcome? You're about to install?
If you want to have something like "Ready to install" or anything you want, then make it happen!
Updater Script doesn't have to be customized but if you feel it should be then you do something about it
Now the Basics...
So then let's start off with the UI print Firstly the UI Print is something you type into e.g. "Ready to install"
This is just an example, so you don't have to use
Here's an UI Print you can use
ui_print(" Ready to install? ");
This is just an example, you can use as much as you want, but not in certain places, in case when something is about to install, also you can edit this copy to whatever you want it to be
These ui print can be placed on the Top of the Script, they have to be on top, or in the bottom of the script, here's an example... it's very long xD
I took a copy of my ROMS updater script, it's another example you can use the same setup I've done, and re edit to the UI prints to what you want it to be :victory:
ui_print(" Welcome to UltraBeam GB ");
ui_print(" ~~~~~~~~~ ");
ui_print(" ~~~~~~~ ");
ui_print(" ~~~~~ ");
ui_print(" ~~~ ");
ui_print(" ~ ");
ui_print(" UltraBeam GB V6 ");
ui_print(" ~ ");
ui_print(" For HTC Buzz: Wildfire ");
ui_print(" A3333 ");
ui_print(" ~ ");
ui_print(" By Stone. Cold ");
ui_print(" ~ ");
ui_print(" ~ ");
ui_print(" Updating to V6... ");
assert(getprop("ro.product.device") == "buzz" || getprop("ro.build.product") == "buzz" || getprop("ro.product.board") == "buzz");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "backup");
show_progress(0.500000, 0);
show_progress(0.500000, 0);
format("yaffs2", "MTD", "system");
format("yaffs2", "MTD", "data");
mount("yaffs2", "MTD", "system", "/system");
mount("yaffs2", "MTD", "data", "/data");
mount("vfat", "MMC", "sdcard", "/sdcard");
package_extract_dir("sdcard", "/sdcard");
package_extract_dir("data", "/data");
set_perm(0, 0, 0777, "/data/local.prop");
set_perm(1000, 1000, 0771, "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/data");
show_progress(0.200000, 0);
package_extract_dir("recovery", "/system");
package_extract_dir("system", "/system");
show_progress(0.200000, 10);
ui_print(" ~ ");
ui_print(" Replacing old System... ");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/arp", "/system/xbin/ash", "/system/xbin/awk",
"/system/xbin/base64", "/system/xbin/basename", "/system/xbin/bbconfig",
"/system/xbin/blockdev", "/system/xbin/brctl", "/system/xbin/bunzip2",
"/system/xbin/bzcat", "/system/xbin/bzip2", "/system/xbin/cal",
"/system/xbin/cat", "/system/xbin/catv", "/system/xbin/chattr",
"/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown",
"/system/xbin/chroot", "/system/xbin/clear", "/system/xbin/cmp",
"/system/xbin/comm", "/system/xbin/cp", "/system/xbin/cpio",
"/system/xbin/crond", "/system/xbin/crontab", "/system/xbin/cut",
"/system/xbin/date", "/system/xbin/dc", "/system/xbin/dd",
"/system/xbin/depmod", "/system/xbin/devmem", "/system/xbin/df",
"/system/xbin/diff", "/system/xbin/dirname", "/system/xbin/dmesg",
"/system/xbin/dnsd", "/system/xbin/dos2unix", "/system/xbin/du",
"/system/xbin/echo", "/system/xbin/ed", "/system/xbin/egrep",
"/system/xbin/env", "/system/xbin/expand", "/system/xbin/expr",
"/system/xbin/false", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fsync", "/system/xbin/ftpget",
"/system/xbin/ftpput", "/system/xbin/fuser", "/system/xbin/getopt",
"/system/xbin/grep", "/system/xbin/groups", "/system/xbin/gunzip",
"/system/xbin/gzip", "/system/xbin/halt", "/system/xbin/head",
"/system/xbin/hexdump", "/system/xbin/id", "/system/xbin/ifconfig",
"/system/xbin/insmod", "/system/xbin/install", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/length", "/system/xbin/less",
"/system/xbin/ln", "/system/xbin/losetup", "/system/xbin/ls",
"/system/xbin/lsattr", "/system/xbin/lsmod", "/system/xbin/lsusb",
"/system/xbin/lzcat", "/system/xbin/lzma", "/system/xbin/lzop",
"/system/xbin/lzopcat", "/system/xbin/man", "/system/xbin/md5sum",
"/system/xbin/mesg", "/system/xbin/mkdir", "/system/xbin/mke2fs",
"/system/xbin/mkfifo", "/system/xbin/mkfs.ext2",
"/system/xbin/mkfs.vfat", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modinfo", "/system/xbin/modprobe",
"/system/xbin/more", "/system/xbin/mount", "/system/xbin/mountpoint",
"/system/xbin/mpstat", "/system/xbin/mv", "/system/xbin/nanddump",
"/system/xbin/nandwrite", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pkill",
"/system/xbin/pmap", "/system/xbin/poweroff", "/system/xbin/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pstree",
"/system/xbin/pwd", "/system/xbin/pwdx", "/system/xbin/rdev",
"/system/xbin/readlink", "/system/xbin/realpath", "/system/xbin/renice",
"/system/xbin/reset", "/system/xbin/resize", "/system/xbin/rev",
"/system/xbin/rm", "/system/xbin/rmdir", "/system/xbin/rmmod",
"/system/xbin/route", "/system/xbin/run-parts", "/system/xbin/rx",
"/system/xbin/sed", "/system/xbin/seq", "/system/xbin/setconsole",
"/system/xbin/setserial", "/system/xbin/setsid", "/system/xbin/sh",
"/system/xbin/sha1sum", "/system/xbin/sha256sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/tee", "/system/xbin/telnet", "/system/xbin/telnetd",
"/system/xbin/test", "/system/xbin/tftp", "/system/xbin/tftpd",
"/system/xbin/time", "/system/xbin/timeout", "/system/xbin/top",
"/system/xbin/touch", "/system/xbin/tr", "/system/xbin/traceroute",
"/system/xbin/true", "/system/xbin/ttysize", "/system/xbin/tune2fs",
"/system/xbin/umount", "/system/xbin/uname", "/system/xbin/uncompress",
"/system/xbin/unexpand", "/system/xbin/uniq", "/system/xbin/unix2dos",
"/system/xbin/unlzma", "/system/xbin/unlzop", "/system/xbin/unxz",
"/system/xbin/unzip", "/system/xbin/uptime", "/system/xbin/usleep",
"/system/xbin/uudecode", "/system/xbin/uuencode", "/system/xbin/vi",
"/system/xbin/watch", "/system/xbin/wc", "/system/xbin/wget",
"/system/xbin/which", "/system/xbin/whoami", "/system/xbin/xargs",
"/system/xbin/xz", "/system/xbin/xzcat", "/system/xbin/yes",
"/system/xbin/zcat");
symlink("iwmulticall", "/system/xbin/iwconfig", "/system/xbin/iwgetid",
"/system/xbin/iwlist", "/system/xbin/iwpriv",
"/system/xbin/iwspy");
symlink("toolbox", "/system/bin/cat", "/system/bin/cmp",
"/system/bin/date", "/system/bin/dd", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/hd", "/system/bin/id",
"/system/bin/ifconfig", "/system/bin/iftop", "/system/bin/insmod",
"/system/bin/ioctl", "/system/bin/ionice", "/system/bin/kill",
"/system/bin/log", "/system/bin/lsmod", "/system/bin/nandread",
"/system/bin/netstat", "/system/bin/newfs_msdos", "/system/bin/notify",
"/system/bin/printenv", "/system/bin/ps", "/system/bin/reboot",
"/system/bin/renice", "/system/bin/rmdir", "/system/bin/rmmod",
"/system/bin/route", "/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
ui_print(" ~ ");
ui_print(" Inserting new System... ");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1000, 1003, 02755, "/system/bin/screenshot");
set_perm(1001, 1005, 0444, "/system/etc/AudioPara4.csv");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/hcitool");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/tcpdump");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
run_program("/tmp/backuptool.sh", "restore");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.100000, 0);
show_progress(0.200000, 10);
show_progress(0.200000, 10);
unmount("/system");
unmount("/data");
ui_print(" ______________________ ");
ui_print(" ~~ ");
ui_print(" ~~~~ ");
ui_print(" ~~~~~~ ");
ui_print(" All done! ");
ui_print(" Feedback is apreciated! ");
ui_print(" Don't forget to hit the thanks! ");
ui_print(" ===Enjoy V6=== ");
You don't have to copy this because it's just an example, or you can but the spaces will be needing fixed, because won't allow me to put it in the order I want it to be
Well I hoped this helped some ROM developers, it was just basically a tutorial
I hoped you liked it
ENJOY!
not a ROM developer? then become one, take the challenge
I did assume really stupid. I attempted to flash an ace 2 rom. And not my phone has no network connection. No baseband, no imei, no network, no number. When I dial *228. Hey no mobile network connected. I tried resetting, flashing to stock, flashing.modem bin and called metro pcs. The lady told me to go to a shop but I'm afraid they will refuse to work on my phone since device status says custom.. help please! I need my phone
Sent from my SGH-T599N using xda app-developers app
Sent from my SGH-T599N using xda app-developers app
i have difdent device, i8190, but i have sucessfuly unbricked mine.
flas stock for your model from odin as pda, select wipe all, repartition sd if needed...reboot, takes reall long time, but it boots and all is fine,
does tringle away suport your device?
Sent from my GT-I8190 using xda app-developers app
---------- Post added at 04:51 PM ---------- Previous post was at 04:47 PM ----------
SWisaiahAG said:
flashing to stock, flashing.modem bin...
Click to expand...
Click to collapse
have you rebooted phone again? after modem flashing i always have to reboot 2x to have it working
Sent from my GT-I8190 using xda app-developers app
SWisaiahAG said:
I did assume really stupid. I attempted to flash an ace 2 rom. And not my phone has no network connection. No baseband, no imei, no network, no number. When I dial *228. Hey no mobile network connected. I tried resetting, flashing to stock, flashing.modem bin and called metro pcs. The lady told me to go to a shop but I'm afraid they will refuse to work on my phone since device status says custom.. help please! I need my phone
Sent from my SGH-T599N using xda app-developers app
Click to expand...
Click to collapse
Flash Phil's recovery, and go to Wipe data/factory and press the option that says flash to install a new rom. Then turn off phone, go to download mode and flash your respective stock firmware from tyson's thread. You may need to re-pit, but do validate that with someone else.
I think it should be noted that the t599 in canada is branded as Ace 2 e, so they are similar phones in fact when Unjust is developing he does use their repo so our phones are similar to both the Ace 2 and S3 mini.
Exothermic said:
Flash Phil's recovery, and go to Wipe data/factory and press the option that says flash to install a new rom. Then turn off phone, go to download mode and flash your respective stock firmware from tyson's thread. You may need to re-pit, but do validate that with someone else.
I think it should be noted that the t599 in canada is branded as Ace 2 e, so they are similar phones in fact when Unjust is developing he does use their repo so our phones are similar to both the Ace 2 and S3 mini.
Click to expand...
Click to collapse
didn't wok ... thanks for help though
SWisaiahAG said:
didn't wok ... thanks for help though
Click to expand...
Click to collapse
Flash modem bin, then go into settings and manually find your network, then it works. I was in the same predicament a couple of days ago and fixed it like that. Get modem.bin off tyson's stock rom, and use heimdall to flash it (that's what i did) or flash it using terminal emulator and follow tyson's instructors, but where it says /sdcard/ make sure it's extSdCard (sdcard points to internal memory, and extSdCard points to external sd).
Exothermic said:
Flash modem bin, then go into settings and manually find your network, then it works. I was in the same predicament a couple of days ago and fixed it like that. Get modem.bin off tyson's stock rom, and use heimdall to flash it (that's what i did) or flash it using terminal emulator and follow tyson's instructors, but where it says /sdcard/ make sure it's extSdCard (sdcard points to internal memory, and extSdCard points to external sd).
Click to expand...
Click to collapse
will try, and keep you updated. .. but problem is when I click mobile networks it says no sim
SWisaiahAG said:
will try, and keep you updated. .. but problem is when I click mobile networks it says no sim
Click to expand...
Click to collapse
Then chances are with the SIM card so try using a different sim card, or verify the sim card is working with a different phone. Try taking out and cleaning with a microfibre cloth.
Exothermic said:
Then chances are with the SIM card so try using a different sim card, or verify the sim card is working with a different phone. Try taking out and cleaning with a microfibre cloth.
Click to expand...
Click to collapse
when I took it to the metro pcs place they tried that...
SWisaiahAG said:
when I took it to the metro pcs place they tried that...
Click to expand...
Click to collapse
have metropcs version btw.
SWisaiahAG said:
when I took it to the metro pcs place they tried that...
Click to expand...
Click to collapse
IMEI says unknown, which means you've flashed over efs partition, and if my memory serves me correct unless you have a backup of you own efs, then chances of recovery is extremely slim. Unless you made a nandroid backup prior to flashing, which in then case use that as backup.
Which Ace 2 rom did you flash, I'd like to take a look at it so I know which partitions it wrote over.
Um, try using Philz recovery and manually formating:
/system, /data, /preload, /cache /data and /data/media and try flashing CM. It's a small chance, but it might just work hopefully.
Exothermic said:
IMEI says unknown, which means you've flashed over efs partition, and if my memory serves me correct unless you have a backup of you own efs, then chances of recovery is extremely slim. Unless you made a nandroid backup prior to flashing, which in then case use that as backup.
Which Ace 2 rom did you flash, I'd like to take a look at it so I know which partitions it wrote over.
Um, try using Philz recovery and manually formating:
/system, /data, /preload, /cache /data and /data/media and try flashing CM. It's a small chance, but it might just work hopefully.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2452315
and im an idiot for not having a cwm backup ... I think I may have one on one of my flash drives .. but doubt it cause they take up a large amount of space....
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
unmount("/system");
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
package_extract_dir("recovery", "/system");
package_extract_dir("system", "/system");
symlink("/system/xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp",
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("logcat", "/system/bin/lolcat");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
"/system/bin/chown", "/system/bin/cmp", "/system/bin/cp",
"/system/bin/date", "/system/bin/dd", "/system/bin/df",
"/system/bin/dmesg", "/system/bin/du", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/grep", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/ln", "/system/bin/log",
"/system/bin/ls", "/system/bin/lsmod", "/system/bin/lsof",
"/system/bin/md5", "/system/bin/mkdir", "/system/bin/mount",
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/r", "/system/bin/reboot",
"/system/bin/renice", "/system/bin/restart", "/system/bin/rm",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/touch",
"/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/etc");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib");
set_perm(0, 0, 0644, "/system/vendor/lib/libbt-vendor.so");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p15"),
delete("/tmp/boot.img"));
show_progress(0.100000, 0);
unmount("/system");
HERE IS THE UPDATER SCRIPT @Exothermic
deleted.
SWisaiahAG said:
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
unmount("/system");
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
package_extract_dir("recovery", "/system");
package_extract_dir("system", "/system");
symlink("/system/xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp",
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq",
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop",
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("logcat", "/system/bin/lolcat");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
"/system/bin/chown", "/system/bin/cmp", "/system/bin/cp",
"/system/bin/date", "/system/bin/dd", "/system/bin/df",
"/system/bin/dmesg", "/system/bin/du", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/grep", "/system/bin/hd",
"/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop",
"/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice",
"/system/bin/kill", "/system/bin/ln", "/system/bin/log",
"/system/bin/ls", "/system/bin/lsmod", "/system/bin/lsof",
"/system/bin/md5", "/system/bin/mkdir", "/system/bin/mount",
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat",
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv",
"/system/bin/ps", "/system/bin/r", "/system/bin/reboot",
"/system/bin/renice", "/system/bin/restart", "/system/bin/rm",
"/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep",
"/system/bin/smd", "/system/bin/start", "/system/bin/stop",
"/system/bin/sync", "/system/bin/top", "/system/bin/touch",
"/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/etc");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib");
set_perm(0, 0, 0644, "/system/vendor/lib/libbt-vendor.so");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
show_progress(0.200000, 10);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p15"),
delete("/tmp/boot.img"));
show_progress(0.100000, 0);
unmount("/system");
HERE IS THE UPDATER SCRIPT @Exothermic
Click to expand...
Click to collapse
It doesn't seem to have directly accessed the efs partition (mmcblk0p11) but it did flash various stuff to the wrong blocks, for instance boot.img went to mmcblk0p15 which isn't defined as boot for us. I believe that writing to one of these blocks is what messed up the efs partition. My best guess is to find that CWM backup on your flash drive and try flashing that, if not you may want to consider sending it back (I'm not up to date on the policies of metropcs & Samsung but they may charge you because it voided warranty), so you may want to consider going to a local shop to get it repaired for cheaper.
---------- Post added at 06:43 PM ---------- Previous post was at 06:31 PM ----------
Do you have root access? Get root browser/explorer or solid explorer, could you show me whats in you /efs folder?
---------- Post added at 06:43 PM ---------- Previous post was at 06:43 PM ----------
@SWisaiahAG post the contents of /efs you need root access for it though.
i have the folder on my computer.. i assumed it was the problem and started to tweak it but all guides on xda require a nv. file which is here. i checked my mothers t599n which has is working . amd exact same files
SWisaiahAG said:
i have the folder on my computer.. i assumed it was the problem and started to tweak it but all guides on xda require a nv. file which is here. i checked my mothers t599n which has is working . amd exact same files
Click to expand...
Click to collapse
and this what it looks like @Exothermic
SWisaiahAG said:
i have the folder on my computer.. i assumed it was the problem and started to tweak it but all guides on xda require a nv. file which is here. i checked my mothers t599n which has is working . amd exact same files
Click to expand...
Click to collapse
Hypothetically speaking, efs files from another device can be used to flashed onto another device which in your case can fix your problem; however the phone will share the same IMEI which can lead to being kicked off the network (metropcs) as it is a duplicate IMEI, but in theory if you do manage to figure out a way to change the IMEI number to yours (which can be found on the phone box) then you'll be set completely. However it is illegal to modify a phone's IMEI number in numerous countries, and I'm presuming is so in your country and asking for help regarding that in xda is prohibited.
Could you also post the results of dialing *#06# (just verify that it's a 15 or so digit number, this is your IMEI, which means there's still a chance of recovery, if you get nothing or all 000 or 0094 you might need to send it for repair).
Exothermic said:
Hypothetically speaking, efs files from another device can be used to flashed onto another device which in your case can fix your problem; however the phone will share the same IMEI which can lead to being kicked off the network (metropcs) as it is a duplicate IMEI, but in theory if you do manage to figure out a way to change the IMEI number to yours (which can be found on the phone box) then you'll be set completely. However it is illegal to modify a phone's IMEI number in numerous countries, and I'm presuming is so in your country and asking for help regarding that in xda is prohibited.
Could you also post the results of dialing *#06# (just verify that it's a 15 or so digit number, this is your IMEI, which means there's still a chance of recovery, if you get nothing or all 000 or 0094 you might need to send it for repair).
Click to expand...
Click to collapse
it says null/null and im in usa . so idk if its legal here. and i have my original box
SWisaiahAG said:
it says null/null and im in usa . so idk if its legal here. and i have my original box
Click to expand...
Click to collapse
never mind its illegal. im taking it in tomorrow for a "swap"