show_progress(0.2, 0);
ui_print("Formatting /system");
format("ext3", "EMMC", "/dev/block/mmcblk0p12");
mount("ext3", "EMMC", "/dev/block/mmcblk0p12", "/system");
mount("vfat", "EMMC", "/dev/block/mmcblk0p1", "/cust");
show_progress(0.5, 0);
ui_print("Updating /system");
package_extract_dir("system", "/system");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod", 
        "/system/bin/chown", "/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/reboot",
        "/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");
show_progress(0.1, 0);
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 0, 06755, "/system/bin/su");
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, 0644, "/system/etc/init.qcom.bt.sh");
set_perm(0, 0, 0644, "/system/etc/init.qcom.coex.sh");
set_perm(0, 0, 0644, "/system/etc/init.qcom.fm.sh");
set_perm(0, 0, 0644, "/system/etc/init.qcom.post_boot.sh");
set_perm(1010, 1010, 0550, "/system/etc/init.qcom.sdio.sh");
set_perm(0, 0, 0644, "/system/etc/init.qcom.wifi.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
show_progress(0.1, 0);
ui_print("Installing busybox");
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");
show_progress(0.2, 0);
ui_print("Updating boot image");
package_extract_dir("cust", "/cust");
show_progress(0.1, 0);
unmount("/system");
unmount("/cust");
