[Galaxy Note II General] Tha TechnoCrat:
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