run_program("/sbin/umount", "-l", "/cache");
run_program("/sbin/mount", "-o ro", "/cache");
assert(unmount("/cache") || ui_print("(cache is unmounted already)"));
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/cache", "0");
assert(unmount("/system") || ui_print("(system is unmounted already)"));
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "0");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/rm", "-R", "/data/dalvik-cache");


ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print("      TRANSCEND");
ui_print("      PrimeDirective");
ui_print(" ");
ui_print(" ");
ui_print("      Begin.");
ui_print(" ");
ui_print(" ");
ui_print("  SYSTEM INSTALLATION INITIALIZED ");
ui_print(" ");
ui_print("  Installing /data Apps");


package_extract_dir("data", "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
ui_print(" ");

ui_print("  Mounting EXT4 HSMMC /system");




ui_print(" ");
ui_print("  Installing TRANSCEND /system");
ui_print(" ");
ui_print("  Initializing processes...");
package_extract_dir("system", "/system");
ui_print(" ");
ui_print("  T5UNAMI SYSTEM ACTIVATED:");
ui_print(" ");
ui_print("  installing:");
ui_print(" ");
ui_print("     Beats audio 5.1 + SRS");
ui_print("     SONY A-GPS + sirfstarIV GPS hack");
ui_print("     Bravia engine");
ui_print("     Inverted system apps");
ui_print("     Blocking advertisements");
ui_print("     Multimedia-X camera/sound enhancements");
ui_print("     tits, butter, skittles");
ui_print("     T5UN4MI v1 speed scripts");
ui_print("     OXIDASE beta system apps");
ui_print(" ");
ui_print(" ");
ui_print("  Symlinking /system: ");
symlink("toolbox", "/system/bin/log");
symlink("toolbox", "/system/bin/sleep");
symlink("toolbox", "/system/bin/mv");
symlink("toolbox", "/system/bin/route");
symlink("toolbox", "/system/bin/watchprops");
symlink("toolbox", "/system/bin/newfs_msdos");
symlink("toolbox", "/system/bin/ifconfig");
symlink("toolbox", "/system/bin/date");
symlink("toolbox", "/system/bin/setconsole");
symlink("toolbox", "/system/bin/start");
symlink("toolbox", "/system/bin/renice");
symlink("toolbox", "/system/bin/sendevent");
symlink("toolbox", "/system/bin/md5");
symlink("toolbox", "/system/bin/ln");
symlink("toolbox", "/system/bin/reboot");
symlink("toolbox", "/system/bin/kill");
symlink("toolbox", "/system/bin/setprop");
symlink("toolbox", "/system/bin/ps");
symlink("toolbox", "/system/bin/cmp");
symlink("toolbox", "/system/bin/iftop");
symlink("toolbox", "/system/bin/ionice");
symlink("toolbox", "/system/bin/notify");
symlink("toolbox", "/system/bin/uptime");
symlink("toolbox", "/system/bin/nandread");
symlink("toolbox", "/system/bin/id");
symlink("toolbox", "/system/bin/wipe");
symlink("toolbox", "/system/bin/rmdir");
symlink("toolbox", "/system/bin/chown");
symlink("toolbox", "/system/bin/mount");
symlink("toolbox", "/system/bin/ioctl");
symlink("toolbox", "/system/bin/cat");
symlink("toolbox", "/system/bin/mkdir");
symlink("toolbox", "/system/bin/hd");
symlink("toolbox", "/system/bin/smd");
symlink("toolbox", "/system/bin/dd");
symlink("toolbox", "/system/bin/touch");
symlink("toolbox", "/system/bin/stop");
symlink("toolbox", "/system/bin/umount");
symlink("toolbox", "/system/bin/insmod");
symlink("toolbox", "/system/bin/getprop");
symlink("toolbox", "/system/bin/lsmod");
symlink("toolbox", "/system/bin/top");
symlink("toolbox", "/system/bin/printenv");
symlink("toolbox", "/system/bin/lsof");
symlink("toolbox", "/system/bin/ls");
symlink("toolbox", "/system/bin/rm");
symlink("toolbox", "/system/bin/vmstat");
symlink("toolbox", "/system/bin/df");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/dmesg");
symlink("toolbox", "/system/bin/netstat");
symlink("toolbox", "/system/bin/chmod");
symlink("toolbox", "/system/bin/rmmod");
symlink("toolbox", "/system/bin/getevent");
symlink("toolbox", "/system/bin/sync");
symlink("toolbox", "/system/bin/schedtop");
symlink("/system/xbin/busybox", "/system/bin/busybox");

ui_print(" ");
ui_print("  Setting Permissions: ");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/lib/modules");
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_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_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, 0, 06755, "/system/xbin/su");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/init.d");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
symlink("/system/bin/bash", "/system/bin/sh");


set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/data/cron");
set_perm(0, 0, 0755, "/data/cron/root");
set_perm(0, 0, 0755, "/system/etc/sysctl.conf");
set_perm(0, 0, 04755, "/system/bin/bash");
set_perm(0, 0, 0755, "/system/xbin/zipalign");
set_perm(0, 0, 04755, "/system/xbin/nano");
set_perm(0, 0, 04755, "/system/xbin/sysrw");
set_perm(0, 0, 04755, "/system/xbin/sysro");
set_perm(0, 0, 0777, "/system/etc/init.d/01T5UN4MI_begin");
set_perm(0, 0, 0777, "/system/etc/init.d/02T5UN4MI_force");
set_perm(0, 0, 0777, "/system/etc/init.d/03T5UN4MI_breathe");
set_perm(0, 0, 0777, "/system/etc/init.d/05T5UN4MI_center");
set_perm(0, 0, 0777, "/system/etc/init.d/07T5UN4MI_live");
set_perm(0, 0, 0777, "/system/etc/init.d/91T5UN4MI_focus");
set_perm(0, 0, 0777, "/system/etc/init.d/99T5UN4MI_wave");


ui_print(" ");
ui_print("  Installing BUSYBOX:");
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");


ui_print(" ");
ui_print("  Installing Kernel:");
sleep(10);

ui_print("  Installation complete.");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");

package_extract_file("boot.img", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");

unmount("/system");
unmount("/data");


ui_print("  End.");
sleep(5);
run_program("/sbin/reboot");
