ui_print("===============================================");
ui_print("| Yank555.lu SGS3 kernel                      |");
ui_print("===============================================");
ui_print("| Based on Samsung ICS update 4 sources       |");
ui_print("===============================================");
ui_print("| Changelog for v1.0                          |");
ui_print("===============================================");
ui_print("| + swap support                              |");
ui_print("| + ntfs support                              |");
ui_print("| + /proc/config.gz support                   |");
ui_print("| + optimized for size                        |");
ui_print("===============================================");
ui_print("| - validating the device is a GT-I9300       |");
assert(getprop("ro.product.device") == "m0" || getprop("ro.build.product") == "m0" || 
       getprop("ro.product.device") == "i9300" || getprop("ro.build.product") == "i9300" || 
       getprop("ro.product.device") == "GT-I9300" || getprop("ro.build.product") == "GT-I9300");
ui_print("|   device is ok, installation can continue ! |");

#ui_print("| - mounting /system                          |");
#assert(mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system") || ui_print("|   (/system is mounted already)              |"));

#ui_print("| - deleting old kernel modules               |");
#delete_recursive("/system/lib/modules");

#ui_print("| - extracting new files                      |");
#package_extract_dir("system", "/system");

#ui_print("| - setting proper permissions                |");
#set_perm_recursive(0, 0, 0755, 0644, "/system/lib/modules");

ui_print("| - extracting boot.img (includes kernel)     |");
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       ui_print("| - flashing boot.img (includes kernel)       |"),
       write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p5"),
       ui_print("| - removing installation files               |"),
       delete("/tmp/boot.img")                                      );

#ui_print("| - unmounting /system                        |");
#unmount("/system");

ui_print("|                                       done. |");
ui_print("===============================================");
