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("MiniCM7Pro V21");
ui_print(" ");
ui_print(" By B-Paul");
ui_print(" ");
ui_print("Prepare installation ...");
show_progress(1, 50);
ui_print("-> Wiping...");
ui_print("/system");
format("yaffs2", "MTD", "system");
mount("yaffs2", "MTD", "system", "/system");
ui_print("/cache");
format("yaffs2", "MTD", "cache");
ui_print("/dalvik-cache");
mount("yaffs2", "MTD", "userdata", "/data");
delete_recursive("/data/dalvik-cache");
ui_print("Done...");
ui_print("-> Copying files...");
ui_print("/system");
package_extract_dir("system", "/system");
ui_print("Done...");
ui_print("-> Adding Toolbox...");
symlink("toolbox", "/system/bin/dd");
symlink("toolbox", "/system/bin/hd");
symlink("toolbox", "/system/bin/id");
symlink("toolbox", "/system/bin/ps");
symlink("toolbox", "/system/bin/cat");
symlink("toolbox", "/system/bin/cmp");
symlink("toolbox", "/system/bin/log");
symlink("toolbox", "/system/bin/smd");
symlink("toolbox", "/system/bin/top");
symlink("toolbox", "/system/bin/nandread");
symlink("toolbox", "/system/bin/date");
symlink("toolbox", "/system/bin/kill");
symlink("toolbox", "/system/bin/stop");
symlink("toolbox", "/system/bin/sync");
symlink("toolbox", "/system/bin/wipe");
symlink("toolbox", "/system/bin/dmesg");
symlink("toolbox", "/system/bin/setconsole");
symlink("toolbox", "/system/bin/iftop");
symlink("toolbox", "/system/bin/ioctl");
symlink("toolbox", "/system/bin/lsmod");
symlink("toolbox", "/system/bin/rmdir");
symlink("toolbox", "/system/bin/rmmod");
symlink("toolbox", "/system/bin/route");
symlink("toolbox", "/system/bin/sleep");
symlink("toolbox", "/system/bin/start");
symlink("toolbox", "/system/bin/setprop");
symlink("toolbox", "/system/bin/schedtop");
symlink("toolbox", "/system/bin/sendevent");
symlink("toolbox", "/system/bin/getevent");
symlink("toolbox", "/system/bin/getprop");
symlink("toolbox", "/system/bin/netstat");
symlink("toolbox", "/system/bin/insmod");
symlink("toolbox", "/system/bin/ionice");
symlink("toolbox", "/system/bin/notify");
symlink("toolbox", "/system/bin/ifconfig");
symlink("toolbox", "/system/bin/reboot");
symlink("toolbox", "/system/bin/renice");
symlink("toolbox", "/system/bin/uptime");
symlink("toolbox", "/system/bin/vmstat");
symlink("toolbox", "/system/bin/printenv");
symlink("toolbox", "/system/bin/watchprops");
symlink("toolbox", "/system/bin/newfs_msdos");
ui_print("-> Adding Busybox...");
symlink("busybox", "/system/xbin/[");
symlink("busybox", "/system/xbin/[[");
symlink("busybox", "/system/xbin/dc");
symlink("busybox", "/system/xbin/dd");
symlink("busybox", "/system/xbin/cp");
symlink("busybox", "/system/xbin/df");
symlink("busybox", "/system/xbin/ed");
symlink("busybox", "/system/xbin/du");
symlink("busybox", "/system/xbin/id");
symlink("busybox", "/system/xbin/ip");
symlink("busybox", "/system/xbin/ln");
symlink("busybox", "/system/xbin/ls");
symlink("busybox", "/system/xbin/mv");
symlink("busybox", "/system/xbin/od");
symlink("busybox", "/system/xbin/ps");
symlink("busybox", "/system/xbin/rm");
symlink("busybox", "/system/xbin/tr");
symlink("busybox", "/system/xbin/vi");
symlink("busybox", "/system/xbin/wc");
symlink("busybox", "/system/xbin/arp");
symlink("busybox", "/system/xbin/ash");
symlink("busybox", "/system/xbin/awk");
symlink("busybox", "/system/xbin/cal");
symlink("busybox", "/system/xbin/cat");
symlink("busybox", "/system/xbin/cmp");
symlink("busybox", "/system/xbin/cut");
symlink("busybox", "/system/xbin/chmod");
symlink("busybox", "/system/xbin/env");
symlink("busybox", "/system/xbin/pwd");
symlink("busybox", "/system/xbin/sed");
symlink("busybox", "/system/xbin/seq");
symlink("busybox", "/system/xbin/tac");
symlink("busybox", "/system/xbin/tar");
symlink("busybox", "/system/xbin/tee");
symlink("busybox", "/system/xbin/top");
symlink("busybox", "/system/xbin/tty");
symlink("busybox", "/system/xbin/yes");
symlink("busybox", "/system/xbin/catv");
symlink("busybox", "/system/xbin/date");
symlink("busybox", "/system/xbin/cpio");
symlink("busybox", "/system/xbin/diff");
symlink("busybox", "/system/xbin/echo");
symlink("busybox", "/system/xbin/dnsd");
symlink("busybox", "/system/xbin/find");
symlink("busybox", "/system/xbin/expr");
symlink("busybox", "/system/xbin/fold");
symlink("busybox", "/system/xbin/free");
symlink("busybox", "/system/xbin/head");
symlink("busybox", "/system/xbin/grep");
symlink("busybox", "/system/xbin/gzip");
symlink("busybox", "/system/xbin/kill");
symlink("busybox", "/system/xbin/less");
symlink("busybox", "/system/xbin/lzop");
symlink("busybox", "/system/xbin/more");
symlink("busybox", "/system/xbin/nice");
symlink("busybox", "/system/xbin/ntpd");
symlink("busybox", "/system/xbin/ping");
symlink("busybox", "/system/xbin/rdev");
symlink("busybox", "/system/xbin/tail");
symlink("busybox", "/system/xbin/sort");
symlink("busybox", "/system/xbin/test");
symlink("busybox", "/system/xbin/tftp");
symlink("busybox", "/system/xbin/stat");
symlink("busybox", "/system/xbin/time");
symlink("busybox", "/system/xbin/stty");
symlink("busybox", "/system/xbin/sync");
symlink("busybox", "/system/xbin/true");
symlink("busybox", "/system/xbin/uniq");
symlink("busybox", "/system/xbin/wget");
symlink("busybox", "/system/xbin/zcat");
symlink("busybox", "/system/xbin/uudecode");
symlink("busybox", "/system/xbin/dos2unix");
symlink("busybox", "/system/xbin/uuencode");
symlink("busybox", "/system/xbin/dirname");
symlink("busybox", "/system/xbin/killall");
symlink("busybox", "/system/xbin/unix2dos");
symlink("busybox", "/system/xbin/brctl");
symlink("busybox", "/system/xbin/chgrp");
symlink("busybox", "/system/xbin/chmod");
symlink("busybox", "/system/xbin/chown");
symlink("busybox", "/system/xbin/clear");
symlink("busybox", "/system/xbin/cksum");
symlink("busybox", "/system/xbin/bzcat");
symlink("busybox", "/system/xbin/bzip2");
symlink("busybox", "/system/xbin/dmesg");
symlink("busybox", "/system/xbin/egrep");
symlink("busybox", "/system/xbin/false");
symlink("busybox", "/system/xbin/fdisk");
symlink("busybox", "/system/xbin/fgrep");
symlink("busybox", "/system/xbin/fuser");
symlink("busybox", "/system/xbin/lsmod");
symlink("busybox", "/system/xbin/lspci");
symlink("busybox", "/system/xbin/lsusb");
symlink("busybox", "/system/xbin/mkdir");
symlink("busybox", "/system/xbin/mknod");
symlink("busybox", "/system/xbin/mount");
symlink("busybox", "/system/xbin/nohup");
symlink("busybox", "/system/xbin/patch");
symlink("busybox", "/system/xbin/pgrep");
symlink("busybox", "/system/xbin/pidof");
symlink("busybox", "/system/xbin/pkill");
symlink("busybox", "/system/xbin/reset");
symlink("busybox", "/system/xbin/rmdir");
symlink("busybox", "/system/xbin/rmmod");
symlink("busybox", "/system/xbin/route");
symlink("busybox", "/system/xbin/sleep");
symlink("busybox", "/system/xbin/split");
symlink("busybox", "/system/xbin/touch");
symlink("busybox", "/system/xbin/uname");
symlink("busybox", "/system/xbin/unzip");
symlink("busybox", "/system/xbin/watch");
symlink("busybox", "/system/xbin/which");
symlink("busybox", "/system/xbin/xargs");
symlink("busybox", "/system/xbin/freeramdisk");
symlink("busybox", "/system/xbin/sha1sum");
symlink("busybox", "/system/xbin/traceroute");
symlink("busybox", "/system/xbin/modprobe");
symlink("busybox", "/system/xbin/losetup");
symlink("busybox", "/system/xbin/killall5");
symlink("busybox", "/system/xbin/strings");
symlink("busybox", "/system/xbin/chroot");
symlink("busybox", "/system/xbin/mkfs.ext2");
symlink("busybox", "/system/xbin/depmod");
symlink("busybox", "/system/xbin/devmem");
symlink("busybox", "/system/xbin/swapoff");
symlink("busybox", "/system/xbin/lzopcat");
symlink("busybox", "/system/xbin/getopt");
symlink("busybox", "/system/xbin/mountpoint");
symlink("busybox", "/system/xbin/netstat");
symlink("busybox", "/system/xbin/gunzip");
symlink("busybox", "/system/xbin/insmod");
symlink("busybox", "/system/xbin/length");
symlink("busybox", "/system/xbin/md5sum");
symlink("busybox", "/system/xbin/sha256sum");
symlink("busybox", "/system/xbin/mke2fs");
symlink("busybox", "/system/xbin/mkfifo");
symlink("busybox", "/system/xbin/mktemp");
symlink("busybox", "/system/xbin/mkswap");
symlink("busybox", "/system/xbin/tune2fs");
symlink("busybox", "/system/xbin/ifconfig");
symlink("busybox", "/system/xbin/nslookup");
symlink("busybox", "/system/xbin/sha512sum");
symlink("busybox", "/system/xbin/printf");
symlink("busybox", "/system/xbin/renice");
symlink("busybox", "/system/xbin/hexdump");
symlink("busybox", "/system/xbin/setsid");
symlink("busybox", "/system/xbin/telnet");
symlink("busybox", "/system/xbin/swapon");
symlink("busybox", "/system/xbin/sysctl");
symlink("busybox", "/system/xbin/umount");
symlink("busybox", "/system/xbin/unlzop");
symlink("busybox", "/system/xbin/uptime");
symlink("busybox", "/system/xbin/usleep");
symlink("busybox", "/system/xbin/whoami");
symlink("busybox", "/system/xbin/printenv");
symlink("busybox", "/system/xbin/run-parts");
symlink("busybox", "/system/xbin/bbconfig");
symlink("busybox", "/system/xbin/readlink");
symlink("busybox", "/system/xbin/install");
symlink("busybox", "/system/xbin/basename");
symlink("busybox", "/system/xbin/realpath");
symlink("busybox", "/system/xbin/bunzip2");
ui_print("Done...");
ui_print("-> Setting permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
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_recursive(0, 0, 0755, 0644, "/system/etc");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 0, 02755, "/system/bin/wlservice");
set_perm_recursive(1002, 1002, 0755, 0444, "/system/etc/bluetooth");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm_recursive(1000, 1000, 0755, 0644, "/system/sd");
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, 0, 0755, 0644, "/system/fonts");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib");
set_perm_recursive(0, 0, 0755, 0644, "/system/media");
set_perm_recursive(0, 0, 0755, 0644, "/system/usr");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 04755, "/system/xbin/bash");
set_perm(0, 0, 04755, "/system/xbin/nano");
set_perm(0, 0, 04755, "/system/xbin/su");
ui_print("Done...");
ui_print("-> Symlinking superuser...");
symlink("/system/xbin/su", "/system/bin/su");
unmount("/data");
unmount("/system");
ui_print("-> Installation complete!");
ui_print("For greater stability, please");
ui_print("make Factory Reset");
ui_print("Thank you for choosing MiniCM7Pro V21");