Download/Recovery Mode gone - Any Possible Fix? - Samsung Galaxy Note 9 Questions & Answers

So, short story... 2 days ago I flashed the recently removed "Superior OS ROM" that was posted (before I knew what was going on obviously and while the thread was still new and open)...
The guy had put these lines in the updater-script, which apparently were put there for malicious purpose:
package_extract_file("superior/keep.img", "/dev/block/platform/11120000.ufs/by-name/RECOVERY");
package_extract_file("superior/settings.bin", "/dev/block/platform/11120000.ufs/by-name/UP_PARAM");
Now, obviously I know I should have double checked before I flashed anything and I usually always do, but for some silly reason on that day I didnt check...
But apparently those 2 lines have screwed with the download mode and recovery mode so they're now inaccessible via normal methods.
The phone still boots up to the boot animation of the rom but then goes no further, the PC does detect the phone but no adb debugging so I'm unable to do anything.
Is there anything at all I can maybe try that would fix download mode at all, so that I can re-flash with Odin?
Thanks!
Full Updater-Script below:
assert(getprop("ro.product.device") == "crownltexx" || getprop("ro.build.product") == "crownltexx" ||
getprop("ro.product.device") == "crownlteks" || getprop("ro.build.product") == "crownlteks" ||
getprop("ro.product.device") == "crownlte" || getprop("ro.build.product") == "crownlte" || abort("E3004: This package is for device: crownltexx,crownlteks,crownlte; this device is " + getprop("ro.product.device") + ".");
ifelse(is_mounted("/vendor"), unmount("/vendor"));
mount("ext4", "EMMC", "/dev/block/platform/11120000.ufs/by-name/VENDOR", "/vendor");
ifelse(file_getprop("/vendor/build.prop","ro.vendor.build.version.sdk") != "29",
unmount("/vendor");
ui_print(" ");
ui_print("=============================================");
ui_print("=============================================");
ui_print(" ERROR: ");
ui_print(" Vendor image on the device ");
ui_print(" is NOT compatible ");
ui_print(" Expected Android 10 vendor ");
ui_print("=============================================");
ui_print("============NO CHANGE HAS BEEN MADE==========");
abort(" ");
unmount("/vendor");
ui_print("Target: samsung/crownltexx/crownlte:10/QP1A.190711.020/N960FXXU5DTCA:user/release-keys");
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
run_program("/tmp/install/bin/backuptool.sh", "backup", "/dev/block/platform/11120000.ufs/by-name/SYSTEM", "ext4");
ui_print("--------------------------------------------");
ui_print(" _____ _ ");
ui_print(" / ___/__ ______ ___ _____(_)___ _____ ");
ui_print(" \__ \/ / / / __ \/ _ \/ ___/ / __ \/ ___/ ");
ui_print(" ___/ / /_/ / /_/ / __/ / / / /_/ / / ");
ui_print("/____/\__,_/ .___/\___/_/ /_/\____/_/ ");
ui_print(" /_/ ");
ui_print(" --- Phoenix --- ");
ui_print("--------------------------------------------");
ui_print(" OS version: SuperiorOS-Phoenix-UNOFFICIAL");
ui_print("");
ui_print(" Android version: 10");
ui_print("");
ui_print(" Security patch: 2020-08-05");
ui_print("");
ui_print(" SDK version: 29");
ui_print("");
ui_print(" Build date: Wed Aug 5 23:57:58 CEST 2020");
ui_print("");
ui_print(" Device codename: crownlte");
ui_print("");
ui_print("--------------------------------------------");
ui_print("Patching system image unconditionally...");
show_progress(0.900000, 0);
block_image_update("/dev/block/platform/11120000.ufs/by-name/SYSTEM", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
delete_recursive("/data/system/package_cache");
run_program("/sbin/e2fsck", "-fy", "/dev/block/platform/11120000.ufs/by-name/SYSTEM");
run_program("/sbin/resize2fs", "/dev/block/platform/11120000.ufs/by-name/SYSTEM");
run_program("/sbin/e2fsck", "-fy", "/dev/block/platform/11120000.ufs/by-name/SYSTEM");
show_progress(0.020000, 10);
run_program("/tmp/install/bin/backuptool.sh", "restore", "/dev/block/platform/11120000.ufs/by-name/SYSTEM", "ext4");
package_extract_file("boot.img", "/dev/block/platform/11120000.ufs/by-name/BOOT");
package_extract_file("superior/keep.img", "/dev/block/platform/11120000.ufs/by-name/RECOVERY");
package_extract_file("superior/settings.bin", "/dev/block/platform/11120000.ufs/by-name/UP_PARAM");
show_progress(0.100000, 10);
set_progress(1.000000);

xin chào điện thoại galaxy note 9 của tôi cũng giống như của bạn, không biết bạn đã tìm được cách sửa điện thoại của mình hay chưa,
Translation: hello my galaxy note 9 phone is the same as yours, don't know if you have found a way to fix your phone or not,

Related

[Guide][Technical]Modifying your rom for alternate layouts

Warning:
This is an advanced level guide! You must already understand how to work with ramdisks and repacking them.
The guide will not cover any of the basics on how to modify and work with kernels and their ramdisks.
Click to expand...
Click to collapse
Introduction:
This is a guide to modify a rom to be compatable with alternate NVflash layouts.
Roms that are not modified are not able to otherwise take advantage of changes due to using a different layout.
The actual changes needed to be made are primarily in the mounts specificed in the ramdisk and the installer script for flashing the rom.
Changes are required to switch from /data/media and /emmc handling.
IT IS STRONGLY RECOMMENDED THAT ROM AUTHORS ADD THE SYSTEM CHECKS FURTHER IN THE GUIDE
Without the checks users will be able to inadvertantly flash the wrong kernel and thusly end up with a brick/bootloop.
Click to expand...
Click to collapse
innerSD partition layout:
See [REF]Streak 7 Partition layouts
See Dell Streak 7/Partition Layout - XDA wiki
Click to expand...
Click to collapse
Requirements:
Compatable development environment
A x86-64 GNU/Linux pc with symlink capable partitions (eg: extx partitions)
Perl
GZip
extract-ramdisk.pl (Link TBA)
split-bootimg.pl (Link TBA)
mkbootfs (Link TBA)
mkbootimg (Link TBA)
Strong understanding of command line
Understanding how to repack ramdisks
Clockworkmod 6.0.1.1+ or TWRP 2.2.1.4+
update-binary6 (CWM 6.0/ICS compatable update-binary)
Click to expand...
Click to collapse
Instructions:
Modifying the ramdisk
Extract and unpack your kernel and ramdisk with extract-ramdisk.pl and split-bootimg.pl
Navigate to the extracted ramdisk and open init.rc
Find the 'on fs' section where the mounting portion of the script is
Change the /system portion to: (See partition layout for list of mountpoints)
Code:
mount <desired filesystem> /dev/block/<desired mountpoint> /system
mount <desired filesystem> /dev/block/<desired mountpoint> /system rw remount
If needed: change the /cache and /data portion to ext4 from ext3
Rebuild the ramdisk with mkbootfs
Rebuild kernel with mkbootimg
Modifying rom for /data/media and /emmc support
(Future versions of guide will include instructions for modifying android to support dual-sds)
Modifying the install script
Strongly recommended: add/modify the first line of the script to: (add as many as supported)
Code:
assert(getprop("ro.product.device") == "<desired layout>" || getprop("ro.build.product") == "<desired layout>");
Modify format command to:
Code:
format("<desired FS>", "EMMC", "/dev/block/<desired mountpoint>", "0");
Modify mount command to:
Code:
run_program("/sbin/busybox", "mount", "/system");
Modify unmount command to:
Code:
run_program("/sbin/busybox", "umount", "/system");
(See example below to dynamically select layout on install)
Click to expand...
Click to collapse
Changelog:
Sep 17 2012: Wrote initial guide
Click to expand...
Click to collapse
2char
Example update script: (Based on CM9mod/S7)
Code:
[COLOR="Red"]assert(getprop("ro.product.device") == "streak7" || getprop("ro.build.product") == "streak7" ||
getprop("ro.product.device") == "streak7ex" || getprop("ro.build.product") == "streak7ex"||
getprop("ro.product.device") == "streak7dm" || getprop("ro.build.product") == "streak7dm");
[/COLOR]
[COLOR="Silver"]ui_print("----------------------");
ui_print("| Cyanogen Mod 9.0 |");
ui_print("| b4-mod |");
ui_print("| By DJ_Steve |");
ui_print("| and Giveen |");
ui_print("| |");
ui_print("| Modified by |");
ui_print("| TheManii |");
ui_print("----------------------");
ui_print();
ui_print();
ui_print();
ui_print();
ui_print("Formatting system...");
show_progress(0.100000, 0);
format("ext4", "EMMC", "/dev/block/platform/sdhci-tegra.3/by-name/APP", "0");
ui_print("Mounting /system...");
show_progress(0.050000, 0);[/COLOR]
[COLOR="Blue"]run_program("/sbin/busybox", "mount", "/system");[/COLOR]
[COLOR="Silver"]ui_print("Extracting files...");
show_progress(0.500000, 0);
package_extract_dir("system", "/system");
ui_print("Creating symlinks...");
show_progress(0.100000, 0);
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fdisk", "/system/xbin/fgrep", "/system/xbin/find",
"/system/xbin/flash_lock", "/system/xbin/flash_unlock",
"/system/xbin/flashcp", "/system/xbin/flock", "/system/xbin/fold",
"/system/xbin/free", "/system/xbin/freeramdisk", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/insmod", "/system/xbin/install",
"/system/xbin/iostat", "/system/xbin/ip", "/system/xbin/kill",
"/system/xbin/killall", "/system/xbin/killall5", "/system/xbin/length",
"/system/xbin/less", "/system/xbin/ln", "/system/xbin/losetup",
"/system/xbin/ls", "/system/xbin/lsattr", "/system/xbin/lsmod",
"/system/xbin/lsusb", "/system/xbin/lzcat", "/system/xbin/lzma",
"/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/man",
"/system/xbin/md5sum", "/system/xbin/mesg", "/system/xbin/mkdir",
"/system/xbin/mke2fs", "/system/xbin/mkfifo", "/system/xbin/mkfs.ext2",
"/system/xbin/mkfs.vfat", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modinfo", "/system/xbin/modprobe",
"/system/xbin/more", "/system/xbin/mount", "/system/xbin/mountpoint",
"/system/xbin/mpstat", "/system/xbin/mv", "/system/xbin/nanddump",
"/system/xbin/nandwrite", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pkill",
"/system/xbin/pmap", "/system/xbin/poweroff", "/system/xbin/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pstree",
"/system/xbin/pwd", "/system/xbin/pwdx", "/system/xbin/rdev",
"/system/xbin/readlink", "/system/xbin/realpath", "/system/xbin/renice",
"/system/xbin/reset", "/system/xbin/resize", "/system/xbin/rev",
"/system/xbin/rm", "/system/xbin/rmdir", "/system/xbin/rmmod",
"/system/xbin/route", "/system/xbin/run-parts", "/system/xbin/rx",
"/system/xbin/sed", "/system/xbin/seq", "/system/xbin/setconsole",
"/system/xbin/setserial", "/system/xbin/setsid", "/system/xbin/sh",
"/system/xbin/sha1sum", "/system/xbin/sha256sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/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/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/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/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("dosfsck", "/system/bin/fsck_msdos");
symlink("mksh", "/system/bin/sh");
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/lsof",
"/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/r", "/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/touch", "/system/bin/umount",
"/system/bin/uptime", "/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
ui_print("Setting permissions...");
show_progress(0.100000, 0);
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
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, 1000, 06750, "/system/bin/rebootcmd");
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_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
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(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
ui_print("Flashing boot...");
show_progress(0.100000, 0);[/COLOR]
[COLOR="Blue"]if getprop("ro.product.device") == "streak7"
then
#{
assert(package_extract_file("boot.img", "/dev/block/platform/sdhci-tegra.3/by-name/LNX"));
ui_print("streak7")
#}
else if getprop("ro.product.device") == "streak7ex"
then
#{
assert(package_extract_file("bootex.img", "/dev/block/platform/sdhci-tegra.3/by-name/LNX"));
ui_print("streak7ex")
#}
else if getprop("ro.product.device") == "streak7dm"
then
#{
assert(package_extract_file("bootdm.img", "/dev/block/platform/sdhci-tegra.3/by-name/LNX"));
ui_print("streak7dm")
#}
else
#{
abort("unknown device")
#}
endif; endif; endif;[/COLOR]
[COLOR="Silver"]ui_print("Unmounting /system...");
show_progress(0.050000, 0);[/COLOR]
[COLOR="Blue"]run_program("/sbin/busybox", "umount", "/system");[/COLOR]
[COLOR="Silver"]ui_print("Installation complete!");[/COLOR]
Legend:
Red: Optional, but strongly recommended
Blue: Required code changes
Gray: Underlying script
Click to expand...
Click to collapse
Details:
Example script includes support for:
streak7
streak7ex
streak7dm
Also:
{ and } are not actually supported in edify, they are merely comments to help script authors visualise the script's organization
If you are unable to support a specific layout, simply remove the associated lines for that layout
The script will echo what layout the device is at the end of the install
New layout for update.zip
META-INF
system
<any other dirs>
boot.img - streak7
bootex.img - streak7ex
bootdm.img - streak7dm
<any other files>
Click to expand...
Click to collapse
2char
Recommended naming scheme:
It is recommended to standardize the naming scheme of your update zips.
This is the naming scheme I use (and applies for all my releases across all dell devices):
update-<device>-<title>-<version>-<revision>.zip
<device>: only used if update being flashed contains device specific contents, otherwise left out
<title>: name of update, without version number
<version>: actual version number (major)
<revision>: revision number (minor)
Examples would be:
update-S5-S5ex-S5sd-paranoidandroid-1.1-b1.zip
device: S5 or S5ex or S5sd
version: 1.1
revision: b1
update-S10-CM9-120715-mod-1.zip
device: S10
version: 120715-mod
revision: 1
update-Gapps-Opt-GB-20712.zip
device: any
version: GB
revision: 20172
Standardized date stamp I use is: YmmDD
Where Y is the last digit of the year
MM is the month
DD is the day
Click to expand...
Click to collapse
2char
This space for rent 4

[HELP]Porting custome rom!

Hi guys i tried to port Paranoid android rom from nexus to our phone!
But im stuck in bootloop!
Can you tell me some simillar device to our which roms can be ported to our phone.?
Thanks!
Also i tryied to copy libandroid_runtime.so .....but, again bootloop?!
Check this out: http://4pda.ru/forum/index.php?showtopic=510748&st=240#entry26274921
cachanilla86 said:
Check this out: http://4pda.ru/forum/index.php?showtopic=510748&st=240#entry26274921
Click to expand...
Click to collapse
Thanks, but i want to make something mine!
Can someone help, i tried to port 4 roms this way and always stuck in boot loop!
tried to port carbon rom from xperia z, and Build id is same that mine in build.prop!
I used cm10.2 for base!
Help please!
Sent from my C5303 using xda app-developers app
I like how you don't bother to include logcats/kernel logs.
On top of that, you didn't describe the problem in detail. How do you expect people to help you if you didn't include the basic information?
Catching my breath, letting it go, turning my cheek for the sake of the show
CallMeVentus said:
I like how you don't bother to include logcats/kernel logs.
On top of that, you didn't describe the problem in detail. How do you expect people to help you if you didn't include the basic information?
Catching my breath, letting it go, turning my cheek for the sake of the show
Click to expand...
Click to collapse
Ok, i know but i cant acces adb when phone booting!
adb logcat
-waiting for device-
-.-!
Here is problem
set_perm:some changes failed
E: Error in /tmp/update.zip
(Status 7)
Installation aborted!
MY updater script:
Code:
assert(getprop("ro.product.device") == "C5302" || getprop("ro.build.product") == "C5302" ||
getprop("ro.product.device") == "C5303" || getprop("ro.build.product") == "C5303" ||
getprop("ro.product.device") == "C5306" || getprop("ro.build.product") == "C5306" ||
getprop("ro.product.device") == "huashan" || getprop("ro.build.product") == "huashan");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");
unmount("/system");
show_progress(0.500000, 0);
ui_print("");
ui_print("");
ui_print("Slim Roms");
ui_print("by:KiaTheKing");
ui_print(" www.slimroms.net ");
ui_print("");
ui_print("");
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "0", "/system");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system");
package_extract_dir("system", "/system");
symlink("/data/misc/audio/mbhc.bin", "/system/etc/firmware/wcd9310/wcd9310_mbhc.bin");
symlink("/data/misc/audio/wcd9310_anc.bin", "/system/etc/firmware/wcd9310/wcd9310_anc.bin");
symlink("/system/xbin/su", "/system/bin/su");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/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/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/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/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
symlink("logcat", "/system/bin/lolcat");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chmod",
"/system/bin/chown", "/system/bin/cmp", "/system/bin/cp",
"/system/bin/date", "/system/bin/dd", "/system/bin/df",
"/system/bin/dmesg", "/system/bin/du", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/grep", "/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/lsof",
"/system/bin/md5", "/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/r", "/system/bin/reboot",
"/system/bin/renice", "/system/bin/restart", "/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/touch",
"/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops",
"/system/bin/wipe");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 0, 0755, "/system/bin/ping");
set_perm(0, 2000, 0750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm(0, 2000, 0755, "/system/vendor/camera");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc");
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib");
set_perm(0, 0, 0644, "/system/vendor/lib/libbt-vendor.so");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "restore");
delete("/system/bin/backuptool.sh");
delete("/system/bin/backuptool.functions");
show_progress(0.200000, 10);
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/Kernel");
show_progress(0.100000, 0);
unmount("/system");
How many posts i need to post, to someone see this?OMG!
Someone can just reply!
Im stiil waiting!
Waiting for device is normal.
If you enter adb logcat > problem.txt it will create a log.
Your problem wont be the updatersctipt probaly some errors in porting.. But im no dev.
Also have some patience we do have personal lives and many of us got no experience in making roms..
Sent from my C5303 using XDA Premium 4 mobile app
KiaTheKing said:
How many posts i need to post, to someone see this?OMG!
Someone can just reply!
Im stiil waiting!
Click to expand...
Click to collapse
Please get a recovery log....
Advanced > Report Error
Catching my breath, letting it go, turning my cheek for the sake of the show
KiaTheKing said:
Here is problem
set_perm:some changes failed
E: Error in /tmp/update.zip
(Status 7)
Installation aborted!
MY updater script:
Click to expand...
Click to collapse
after you got this error
go to cwm - advanced - show log
and write here what you:ve got.
Sent from my C5303 using XDA Premium 4 mobile app
imanesaurus said:
after you got this error
go to cwm - advanced - show log
and write here what you:ve got.
Sent from my C5303 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
minzip: Extracted file ˝/system/xbin/strace˝
minzip: Extracted file ˝/system/xbin/su
minzip: Extracted file ˝/system/xbin/vim
symlink(): created [/system/etc/firmware/wcd9310]
set_perm:chown of /system/vendor/firmware to 0 2000 failed: No such file or directory
set_perm: chmod of /system/vendor/firmware to 755 failed: No such file or directory
script aborted: set_perm: some changes failed
E: Error in /tmp/update.zip
(status 7)
KiaTheKing said:
minzip: Extracted file ˝/system/xbin/strace˝
minzip: Extracted file ˝/system/xbin/su
minzip: Extracted file ˝/system/xbin/vim
symlink(): created [/system/etc/firmware/wcd9310]
set_perm:chown of /system/vendor/firmware to 0 2000 failed: No such file or directory
set_perm: chmod of /system/vendor/firmware to 755 failed: No such file or directory
script aborted: set_perm: some changes failed
E: Error in /tmp/update.zip
(status 7)
Click to expand...
Click to collapse
Please ensure that your ROM has /system/vendor
Catching my breath, letting it go, turning my cheek for the sake of the show
imanesaurus said:
after you got this error
go to cwm - advanced - show log
and write here what you:ve got.
Sent from my C5303 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Im maked some changes in updater script and flashed romm.But i stuck in bootloop.Ok i know "make logcat".i have problem now. I cant get logcat cause its always said -waiting for phone- but i installed adb drivers.and when i tybe adb devices its said ydhsvs etc. device
and offline(my phone is connected)
Tried on 2 computers(1st 32-bit 2nd 64 bit) but its same.Some suggestion?Thanks!
Sent from my brain using xda app-developers app
KiaTheKing said:
Im maked some changes in updater script and flashed romm.But i stuck in bootloop.Ok i know "make logcat".i have problem now. I cant get logcat cause its always said -waiting for phone- but i installed adb drivers.and when i tybe adb devices its said ydhsvs etc. device
and offline(my phone is connected)
Tried on 2 computers(1st 32-bit 2nd 64 bit) but its same.Some suggestion?Thanks!
Sent from my brain using xda app-developers app
Click to expand...
Click to collapse
Bootloop at? Bootanimation?
CallMeVentus said:
Bootloop at? Bootanimation?
Click to expand...
Click to collapse
Yup!
Sent from my ZTE Blade G using xda app-developers app

[Q] Where to extract boot.img [STOCK]

Hi,
I want to make my custom ROM based on stock. I use dsixda Kitchen and I have a problem with the "package_extract_file("boot.img", "??");"**
But I don't know where to extract it...
Thanks a lot
nathan30 said:
Hi,
I want to make my custom ROM based on stock. I use dsixda Kitchen and I have a problem with the "package_extract_file("boot.img", "??");"**
But I don't know where to extract it...
Thanks a lot
Click to expand...
Click to collapse
In a very simple Rom the layout is
META-INF
system
boot.img
The META-INF/com/google/android contains the updater-script
This is a sample of what it contains
assert(getprop("ro.product.device") == "m7att" || getprop("ro.build.product") == "m7att");
package_extract_dir("install", "/tmp/install");
set_perm_recursive(0, 0, 0755, 0644, "/tmp/install");
set_perm_recursive(0, 0, 0755, 0755, "/tmp/install/bin");
show_progress(0.500000, 0);
ui_print("Installing AT&T HTC One 4.3 sense build - 3.10.502.2");
ui_print(" ");
ui_print("Provided by xxxxx");
ui_print("Zipped by xxxxxx");
ui_print("Insert huge donation links here");
format("ext4", "EMMC", "/dev/block/mmcblk0p35", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p35", "/system");
package_extract_dir("system", "/system");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon", "/system/bin/chmod",
"/system/bin/chown", "/system/bin/clear", "/system/bin/cmp", "/system/bin/cp",
"/system/bin/date", "/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
"/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent", "/system/bin/getprop",
"/system/bin/grep", "/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/load_policy", "/system/bin/log", "/system/bin/ls", "/system/bin/lsmod",
"/system/bin/lsof", "/system/bin/md5", "/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/restoreicon",
"/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route",
"/system/bin/runcon", "/system/bin/schedtop", "/system/bin/sendevent",
"/system/bin/setconsole", "/system/bin/setenforce", "/system/bin/setprop",
"/system/bin/sleep", "/system/bin/smd",
"/system/bin/start", "/system/bin/stop", "/system/bin/sync", "/system/bin/top",
"/system/bin/touch", "/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops", "/system/bin/wipe");
symlink("/system/lib/libGLESv2.so","/system/lib/libGLESv3.so");
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(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(0, 1000, 0750, "/system/bin/iptables");
set_perm(0, 1000, 0750, "/system/bin/tc");
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_pair_devlist.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(1000, 3003, 0640, "/system/etc/gps.conf");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
package_extract_file("boot.img", "/dev/block/mmcblk0p33");
show_progress(0.100000, 0);
unmount("/system");
ui_print("Done!");
Click to expand...
Click to collapse
that should help
clsA said:
In a very simple Rom the layout is
META-INF
system
boot.img
The META-INF/com/google/android contains the updater-script
This is a sample of what it contains
that should help
Click to expand...
Click to collapse
Yes thanks you

[GUIDE][NOOB FRIENDLY]How To Make Aroma Installer Flashable Zip/update.zip

Post Tree
Post 1 : Intro and aroma-config
Post 2 : updater-script
Post 3 : Credits
Post 4 : List of themes
have you heard about Aroma Installer ?
Whats that ?
Aroma installer is an installer on recovery for devices that use CWM recovery
Aroma installer has a special features
-Touchscreen
-Advanced Install(this features is decided by the developer)
-Text viewer
-And many more
Aroma Zip Tree
-||-System/data/something
-||-META-INF
-||-||-CERT.RSA,MANIFEST.MF,CERT.SF
-||-||-com
-||-||-||-google
-||-||-||-||-android
-||-||-||-||-||-updater-scipt
-||-||-||-||-||-update-binary
-||-||-||-||-||-update-binary-installer
-||-||-||-||-||-aroma-config
-||-||-||-||-||-aroma
-||-||-||-||-||-||-fonts
-||-||-||-||-||-||-splash
-||-||-||-||-||-||-icons
-||-||-||-||-||-||-themes
-||-||-||-||-||-||-langs
-||-||-||-||-||-||-ttf
-||-||-||-||-||-||-unicode
-||-||-||-||-||-||-changelog.txt
Click to expand...
Click to collapse
Now lets start with aroma-config
Sample:
### INFO:
#
# * AROMA Resource Dir = META-INF/com/google/android/aroma
#
# * AROMA Temporary Dir = /tmp/aroma/
#
# * About Icon = @alert - show /icons/alert.png
# or if theme used it will find /icon.alert.png
# you can still access it via "icons/alert"
#
# * dp = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
# dp calculated with = round(min(width,height) / 160)
#
###
##
# Fix Colorspace Issue
#
# For device which have a problem with color ( not display the correct color )
# try to set "force_colorspace" with ini_set. It may caused by wrong framebuffer
# information that passed by kernel into framebuffer device.
#
# You can use one of following values:
# "rgba", "abgr", "argb", "bgra"
#
# NOTE: It must be in top most script, or you will got the color flicker
#
# ini_set("force_colorspace","rgba");
#
##
# Forcing Device Pixelate Size
# defaut: floor( min( width, height ) / 160 )
#
# Usefull for tablet device, if interface was too big, you can
# force dp size for smaller UI size.
#
#-------- Uncomment one of this to use custom dp size:
#
# ini_set("dp","1"); #-- LDPI ( 240x320 / QVGA )
# ini_set("dp","2"); #-- MDPI ( 340x480 / HVGA )
# ini_set("dp","3"); #-- HDPI ( 480x800 / WVGA )
# ini_set("dp","4");
# ini_set("dp","5");
#
#### NOTE >> THIS VERSION DOESN'T NEED ANY CALIBRATION DATA
##[ DEPRECATED - WONT DO ANYTHING FOR THIS VERSION ]
# Calibrate Touchscreen - MATRIX METHOD
#
# For other device, run the installer, then press "menu"
# and select Calibrating Tools. Follow Instructions, and make
# sure the touch screen has been valid in the testing step.
#
# In the end, there will be alert dialog with calibration data
# ( green ), replace this calibrate_matrix() function with that data.
#
#-------- Change the value with your device calibration data:
#
# Current calibration was for HTC Sensation/XE/4G Devices:
#
#calibrate_matrix(
# "63052.50", "840.00", "-903390.00", "-1680.00",
# "125895.00", "-371670.00", "120021.25", "0"
#);
##[ DEPRECATED ]
# Calibrate Touchscreen
# defaut: HTC Desire Touch Screen Calibrate Data [7.90,20,7.90,20]
#
# In the end, there will be alert dialog with calibration data
# ( green ), replace this calibrate() function with that data.
#
#-------- Uncomment This to insert calibrating data:
# calibrate("7.90","20","7.90","20");
#
##
# Custom Key Code - Usefull For Some Device which not used
# Standard key code for up/down/select/back/menu
#
# You can capture the keycode in
# recovery using "aroma-keycapture-flashable.zip" Available in
# AROMA Installer Thread.
#
# Press some key when it run, it will return key code,
# that key can override up/down/select/back/menu actions in
# AROMA Installer, you can even set your home key for up, or
# volume down for select item
#
#-------- Uncomment & Modify this Code:
#
# ini_set("customkeycode_up", "115");
# ini_set("customkeycode_down", "114");
# ini_set("customkeycode_select", "116");
# ini_set("customkeycode_menu", "229");
# ini_set("customkeycode_back", "158");
#
##
# Initializing Rom Information
#
ini_set("rom_name", "Samperia Rom");
ini_set("rom_version", "1.0");
ini_set("rom_author", "RendyAK");
ini_set("rom_device", "Samsung Galaxy Star");
ini_set("rom_date", "Des, 16 2014");
##
# Show Simple Splash
#
splash(
#-- Duration 2000ms / 2 seconds
2000,
#-- /sample.png
"sample"
);
##
# Show Animated Splash
#
anisplash(
#-- Number of Loop
1,
#-- Frame 1 [ Image, duration in millisecond ]. /splash/a[1..6].png
"splash/1", 30,
"splash/2", 30,
"splash/3", 30,
"splash/4", 30,
"splash/5", 30,
"splash/6", 30,
"splash/7", 30,
"splash/8", 30,
"splash/9", 30,
"splash/10", 30,
"splash/11", 30,
"splash/12", 30,
"splash/13", 30,
"splash/14", 30,
"splash/15", 30,
"splash/16", 30,
"splash/17", 30,
"splash/18", 30,
"splash/19", 30,
"splash/20", 30,
"splash/21", 30,
"splash/22", 30,
"splash/23", 30,
"splash/24", 30,
"splash/25", 30,
"splash/26", 30,
"splash/27", 30
);
##[DEPRECATED]
# Show Calibrating Tools Directly before show any UI
#
#--- Remove this calibtool if you already know the calibrate data
# calibtool("");
#
# Set Small Font to Support all fonts
#
fontresload( "0", "ttf/Roboto-Regular.ttf;ttf/DroidSansArabic.ttf;ttf/DroidSansFallback.ttf;", "12" ); #-- Use sets of font (Font Family)
###################################################################################################################
#
# SHOW LANGUAGE SELECTION
#
selectbox(
#-- Title
"Select Language",
#-- Sub Title
"Please select installer language that you want to use in this installation test:",
#-- Icon: /icons/personalize.png or /icon.personalize.png
"@default",
#-- Will be saved in /tmp/aroma/theme.prop
"lang.prop",
#---------------------------------[ Selectbox Without Group ]----------------------------------#
# TITLE | SUBTITLE | Initial Value #
#------------------+-----------------------------------------------------------+---------------#
"English", "Welcome to Installer", 1, #-- selected.0 = 1
"Indonesian", "Selamat datang di Installer", 0, #-- selected.0 = 2
"Espanol", "Bienvenido al Instalador", 0, #-- selected.0 = 3
"Simplified Chinesse","欢迎到安装", 0, #-- selected.0 = 4
"Arabic", "مرحبا بكم في المثبت", 0, #-- selected.0 = 5
"French", "Bienvenue dans l'installateur", 0, #-- selected.0 = 6
"Russian", "Добро пожаловать в установщик", 0, #-- selected.0 = 7
"Italian", "Benvenuti Installer", 0, #-- selected.0 = 8
"Hebrew", "ברוכים הבאים להתקנה", 0, #-- selected.0 = 9
"Germany", "Willkommen bei Installer", 0 #-- selected.0 = 10
#--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
);
##
# SET LANGUAGE & FONT FAMILY
#
if prop("lang.prop","selected.0")=="1" then
loadlang("langs/en.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" ); #-- "0" = Small Font ( Look at Fonts & UNICODE Demo Below )
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" ); #-- "1" = Big Font
endif;
if prop("lang.prop","selected.0")=="2" then
loadlang("langs/id.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="3" then
loadlang("langs/es.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="4" then
loadlang("langs/cn.lang");
fontresload( "0", "ttf/DroidSansFallback.ttf;ttf/Roboto-Regular.ttf", "12" ); #-- Use sets of font (Font Family)
fontresload( "1", "ttf/DroidSansFallback.ttf;ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="5" then
loadlang("langs/ar.lang");
fontresload( "0", "ttf/DroidSansArabic.ttf;ttf/Roboto-Regular.ttf", "12" ); #-- Use sets of font (Font Family)
fontresload( "1", "ttf/DroidSansArabic.ttf;ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="6" then
loadlang("langs/fr.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="7" then
loadlang("langs/ru.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="8" then
loadlang("langs/it.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="9" then
loadlang("langs/he.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
if prop("lang.prop","selected.0")=="10" then
loadlang("langs/de.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
endif;
###################################################################################################################
#
# SHOW LANGUAGE TEST MULTILINE
#
viewbox(
#-- Title
lang("langtest.title"), #-- you can use lang("langtest.title") function or directly in string ""
#-- Text
"",
#-- Icon
"@info"
);
###################################################################################################################
#
# STEP 1 - SELECT THEME
#
selectbox(
#-- Title
"",
#-- Sub Title
"",
#-- Icon: /icons/personalize.png or /icon.personalize.png
"@personalize",
#-- Will be saved in /tmp/aroma/theme.prop
"theme.prop",
#---------------------------------[ Selectbox Without Group ]----------------------------------#
# TITLE | SUBTITLE | Initial Value #
#------------------+-----------------------------------------------------------+---------------#
"Generic", "Unthemed AROMA Installer", 1, #-- selected.0 = 1
"MIUI Theme", "MIUI Theme by mickey-r & amarullz", 0, #-- selected.0 = 2
"ICS Theme", "Ice Cream Sandwitch by DemonWav & amarullz", 0, #-- selected.0 = 3
"MIUI 4 Theme", "MIUI 4/ICS Theme by amarullz & Lennox", 0, #-- selected.0 = 4
"Sense Theme", "HTC Sense Theme by amarullz", 0 #-- selected.0 = 5
#--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
);
##
# SET THEME
#
#-- Change Info:
# file_getprop : should use absolute path "/tmp/aroma/theme.prop"
# prop : just use relative path "theme.prop" will automatically read the "/tmp/aroma/theme.prop"
#
if prop("theme.prop","selected.0")=="2" then
theme("miui");
endif;
if prop("theme.prop","selected.0")=="3" then
theme("ics");
endif;
if prop("theme.prop","selected.0")=="4" then
theme("miui4");
endif;
if prop("theme.prop","selected.0")=="5" then
theme("sense");
endif;
###################################################################################################################
#
# STEP 2 - SHOW ROM INFORMATION
#
viewbox(
#-- Title
"",
#-- Text
" "+
#-- Get Config Value
ini_get("rom_name")+
" "+ini_get("rom_device")+".\n\n"+
"\n\n"+
" \t: "+ini_get("rom_version")+"\n"+
" \t: Initial\n"+
" \t: "+ini_get("rom_date")+"\n\n\n"+
"",
#-- Icon
"@welcome"
);
###################################################################################################################
#
# STEP 3 - LICENSE
#
agreebox(
#-- Title
"",
#-- Subtitle / Description
"",
#-- Icon
"@license",
#-- Text Content ( Read from /license.txt )
resread("license.txt"),
#-- Checkbox Text
"",
#-- Unchecked Alert Message
""
);
###################################################################################################################
#
# STEP 4 - CHANGELOG
#
textbox(
#-- Title
"",
#-- Subtitle
"",
#-- Icon
"@update",
#-- Arg 4
resread("changelog.txt")
);
##
##-- Back To English - and Use Roboto-Regular.ttf
##
alert("Back To English","OK, Multilanguage demo ends here... It will use english now...", "@info");
loadlang("langs/en.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
##
##
viewbox(
#-- Title
"Ready to Install",
#-- Text
"The wizard is ready to begin installation.\n\n"+
"Press Install Now to begin the installation.\n\n"+
"If you want to review or change any of your installation settings, press Back. Press Menu Key -> Quit Installation to exit the wizard.",
#-- Icon
"@install"
);
##
#
# Next Button in successfull installation should be back to "Next >"
#
ini_set("text_next", "Install now");
#-- Extract sleep to /tmp/aroma/sleep. It will be used in updater-script for testing wait script
restotmp("exec_demo/sleep","sleep");
###################################################################################################################
#
# STEP 10 - INSTALLATION PROCESS
#
setvar("retstatus",
install(
#-- Title
"Installing",
#-- Installation Process message
""+ini_get("rom_name")+" are being installed.\n\n"+
"Please wait while installation wizard installs "+ini_get("rom_name")+
". This may take several minutes.",
#-- Installation Icon
"@install",
#-- Installation Finish Message
"The installation wizard has successfully installed "+ini_get("rom_name")+
". Press Next to continue."
)
);
##
#
# Next Button is "Finish"
#
ini_set("text_next", "Finish");
###################################################################################################################
#
# STEP 11 - FINISH MESSAGE, Add Checkbox to Reboot or No. Save in "reboot_it" variable
#
# You can use return value or "reboot_it" variable to retrive checkbox value
# Example:
# if (checkviewbox(....)=="1" then
# ... checked ...
# endif;
#
checkviewbox(
#-- Title
"Installation Completed",
#-- Text
"Congratulation...\n\n"+
""+ini_get("rom_name")+" has been installed into your device.\n\n"+
"Installer Status: "+getvar("retstatus")+"\n\n",
#-- Icon
"@welcome",
#-- Checkbox Text
"Reboot your device now.",
#-- Initial Checkbox value ( 0=unchecked, 1=checked ) - (Optional, default:0)
"1",
#-- Save checked value in variable "reboot_it" (Optional)
"reboot_it"
);
###
#
# Check if reboot checkbox was checked
if
getvar("reboot_it")=="1"
then
#
# reboot("onfinish"); - Reboot if anything finished
# reboot("now"); - Reboot Directly
# reboot("disable"); - If you set reboot("onfinish") before, use this command to revert it.
#
reboot("onfinish");
endif;
#---- FINISH
Click to expand...
Click to collapse
THIS IS WITHOUT THE Advanced install (Couse this is for rom)
Sample 2 (With Advanced install) Thanks to the maker of All in One :
### LICENSE:
#
# Copyright (C) 2011 Ahmad Amarullah ( http://amarullz.com/ )
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#Please Do Not Edit File If Not Know Anything ;
ini_set("rom_name", "*****");
ini_set("rom_version", "*****");
ini_set("rom_author", "*****");
ini_set("rom_device", "*****");
splash(
#-- Duration 2000ms / 2 seconds
3000,
#-- /sample.png
"slayer"
);
anisplash(
#-- Number of Loop
4,
#-- Frame 1 [ Image, duration in millisecond ]. /splash/a[1..6].png
"splash/a1", 30,
"splash/a2", 30,
"splash/a3", 30,
"splash/a4", 30,
"splash/a5", 30,
"splash/a6", 30
);
loadlang("langs/en.lang");
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
theme("miui");
fontresload( "0", "ttf/Roboto-Regular.ttf;ttf/DroidSansArabic.ttf;ttf/DroidSansFallback.ttf;", "12" );
viewbox(
"Welcome",
"ALL IN ONE\n\n"+
"VERSION : 2.0 beta\n"+
"DESIGNER : Slayer\n"+
"RELEASED : 20 July, 2013\n"+
"\n\nTweaks and Scripts for any ROM and Device.
\n\nCustomize and Improve you phone by Installing scripts and tweaks. Install and Uninstall your scripts and tweaks with ease now.
\n\n\n Press Next to continue....",
"icons/personalize"
);
#
agreebox(
#-- Title
"Agreement",
#-- Subtitle / Description
"Please read carefully the "+"Scripts and Tweaks"+ " Agreement.",
#-- Icon
"@license",
#-- Text Content ( Read from /license.txt )
resread("agreement.txt"),
#-- Checkbox Text
"I Agree with this Agreement...",
#-- Unchecked Alert Message
"Please check the agreement..."
);
textbox(
"Features:",
"Scripts and Tweaks:",
"icons/update",
readfile_aroma("changelog.txt")
);
textbox(
"Credits",
"Script and Tweak Credits",
"icons/agreement",
readfile_aroma("thanks.txt")
);
menubox(
#-- Title
"Menu",
"Please select menu below:",
"@apps",
"menu.prop",
"Install Scripts/Tweaks","","@install", #-- selected = 1
"Uninstall Scripts/Tweaks","","@welcome", #-- selected = 2
"Scripts/Tweaks Info","","@update", #-- selected = 3
"Memory Info","","@agreement" #-- selected = 4
);
writetmpfile("menu.prop",readtmpfile("menu.prop"));
if prop("menu.prop","selected")=="4" then
pleasewait("Get System Informations...");
setvar(
#-- Variable Name
"sysinfo",
#-- Variable Value
"Memory Information\n\n"+
"System Size\t\t: "+getdisksize("/system","m")+" MB\n"+
"\tFree\t\t: "+getdiskfree("/system","m")+" MB\n\n"+
"Data Size\t\t: "+getdisksize("/data","m")+" MB\n"+
"\tFree\t\t: "+getdiskfree("/data","m")+" MB\n\n"+
"(/mnt/sdcard)\t\t: "+getdisksize("/mnt/sdcard","m")+" MB\n"+
"\tFree\t\t: "+getdiskfree("/mnt/sdcard","m")+" MB\n\n"+
"SDCard Size\t\t: "+getdisksize("/sdcard","m")+" MB\n"+
"\tFree\t\t: "+getdiskfree("/sdcard","m")+" MB\n\n"+
"SD-EXT Size\t\t: "+getdisksize("/sd-ext","m")+" MB\n"+
"\tFree\t\t: "+getdiskfree("/sd-ext","m")+" MB\n\n"+
""
);
ini_set("text_next", "OK");
#-- Show Textbox
textbox(
#-- Title
"System Information",
#-- Subtitle
"Loading Device's Memory Information...",
#-- Icon
"@info",
#-- Text
getvar("sysinfo")
);
back("2");
endif;
if prop("menu.prop","selected")=="1" then
if
confirm(
#-- Title
"Warning!",
#-- Text
"Please read first the Scripts/Tweaks Info before proceeding further.\n\nRequired: Root access and init.d folder support.\n\nDo you want to Continue?",
#-- Icon (Optional)
"@alert"
)=="no"
then
#-- Exit
back("2");
endif;
############
#Install Select box
###################
checkbox(
"Install",
"Choose the script/tweak you want below.",
"icons/apps",
"tweak.prop",
"Performance:","",2,
"Andrenaline Engine v4.4","by ImbaWinde",0,
"Geeky Engine","by forever king",0,
"Supremacy Script v3","by Emwno",0,
"Velocity Tweaks v2.1.1","by Ne.Xt",0,
"Slaidy Boost v2.3","by Slaid480",0,
"CosmisTweak LightSpeed","by iamareebjamal",0,
"CronMod Script:","",2,
"CronMod_Unofficial","by Styrke",0,
"CronMod_Unofficial+Data2ext","by Styrke",0,
"Data2sd-ext_Fixed","by Styrke",0,
"Touch Improvement:","",2,
"Loopy Smoothness","by Eoghan2t7",0,
"Internet Speed:","",2,
"Net- Fork v3.0","by DroidFolks ",0,
"Entertainment:","",2,
"Bravia Engine","by ANDY",0,
"Beats Audio v6.27","by RockoDev",0
);
writetmpfile("tweak.prop",readtmpfile("tweak.prop"));
setvar("installer_title","The following scripts and tweaks will be install:");
appendvar("installer_title","\n\n\n");
appendvar("installer_title",iif(prop("tweak.prop","item.1.1")=="1","* Andrenaline Engine\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.1.2")=="1","* Geeky Engine\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.1.3")=="1","* Supremacy Script\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.1.4")=="1","* Velocity Tweaks v2.11\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.1.5")=="1","* Slaidy Boost v2.3\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.1.6")=="1","* CosmisTweak LightSpeed\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.2.1")=="1","* CronMod UnOfficial\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.2.2")=="1","* CronMod UnOfficial+Data2ext\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.2.3")=="1","* Data2sd-ext Fixed\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.3.1")=="1","* Loopy smoothness\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.4.1")=="1","* Net Fork\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.5.2")=="1","* Beats Audio v6.27\n\n",""));
appendvar("installer_title",iif(prop("tweak.prop","item.5.1")=="1","* Bravia Engine\n\n",""));
viewbox(
"Summary:",
""+getvar("installer_title")+"",
"icons/license"
);
if confirm(
#-- Title
"Ready to Install!!",
#-- Text
"Are you sure want to install the followings scripts and tweaks?",
#-- Icon (Optional)
"@personalize",
#-- Yes Text
"Yes",
#-- No Text
"No"
)=="no"
then
back(2);
endif;
install(
"Installing",
"Installing Tweak/Script"+
"...\n\nThis may take several seconds..",
"icons/install"
);
ini_set("text_next", "Finish");
selectbox(
"Installation Complete",
"Scripts and Tweaks have been installed on your device"+"\n",
"icons/agreement",
"reboot.prop",
"Reboot Device Now","",0,
"Return to Recovery","",1
);
endif;
############
#Uninstall Select box
###################
if prop("menu.prop","selected")=="2" then
checkbox(
"Uninstall",
"Choose the script/tweak you want below.",
"icons/apps",
"utweak.prop",
"Performance:","",2,
"Andrenaline Engine v4.4","by ImbaWinde",0,
"Geeky Engine","by forever king",0,
"Supremacy Script v3","by Emwno",0,
"Velocity Tweaks v2.1.1","by Ne.Xt",0,
"Slaidy Boost v2.3","by Slaid480",0,
"CosmisTweak LightSpeed","by iamareebjamal",0,
"CronMod Script:","",2,
"CronMod_Unofficial","by Styrke",0,
"CronMod_Unofficial+Data2ext","by Styrke",0,
"Data2sd-ext_Fixed","by Styrke",0,
"Touch Improvement:","",2,
"Loopy Smoothness","by Eoghan2t7",0,
"Internet Speed:","",2,
"Net- Fork v3.0","by DroidFolks ",0
);
writetmpfile("utweak.prop",readtmpfile("utweak.prop"));
setvar("installer_title","The following scripts and tweaks will be Uninstall:");
appendvar("installer_title","\n\n\n");
appendvar("installer_title",iif(prop("utweak.prop","item.1.1")=="1","* Andrenaline Engine\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.1.2")=="1","* Geeky Engine\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.1.3")=="1","* Supremacy Script\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.1.4")=="1","* Velocity Tweaks v2.11\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.1.5")=="1","* Slaidy Boost v2.3\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.1.6")=="1","* CosmisTweak LightSpeed\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.2.1")=="1","* CronMod UnOfficial\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.2.2")=="1","* CronMod UnOfficial+Data2ext\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.2.3")=="1","* Data2sd-ext Fixed\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.3.1")=="1","* Loopy smoothness\n\n",""));
appendvar("installer_title",iif(prop("utweak.prop","item.4.1")=="1","* Net Fork\n\n",""));
viewbox(
"Summary:",
""+getvar("installer_title")+"",
"icons/license"
);
if confirm(
#-- Title
"Ready to Uninstall!!",
#-- Text
"Are you sure want to Uninstall the followings scripts/tweaks?",
#-- Icon (Optional)
"@personalize",
#-- Yes Text
"Yes",
#-- No Text
"No"
)=="no"
then
back("2");
endif;
install(
"Installing",
"Installing Tweak/Script"+
"...\n\nThis may take several seconds..",
"icons/install"
);
ini_set("text_next", "Finish");
selectbox(
"Un-Installation Complete",
"Scripts and Tweaks have been Uninstalled on your device"+"\n",
"icons/agreement",
"reboot.prop",
"Reboot Device Now","",0,
"Return to Recovery","",1
);
endif;
if prop("menu.prop","selected")=="3" then
ini_set("text_next", "OK");
textbox(
"Information",
"Script and Tweak Info",
"icons/agreement",
readfile_aroma("tweak.txt")
);
back("2");
endif;
if prop("reboot.prop","selected.0")=="1" then
if
confirm(
#-- Title
"Reboot",
#-- Text
"Are you sure want to reboot your device?",
#-- Icon (Optional)
"@alert"
)=="yes"
then
reboot("now");
endif;
endif;
if prop("reboot.prop","selected.0")=="2" then
exit();
endif;
Click to expand...
Click to collapse
OKAY NOW heres the explaination
1.confirm
This is the confirmation for do the next step
2.alert
This will make a pop up dialog
3.textbox
Show text box
4.readfile_aroma
Readfile from aroma folder
5.writetmpfile
Use for write to /tmp
6.readtmpfile
Using for read file from /tmp/aroma-data
7.splash
Just like the loading image
8.install
Part for install it use valid updater-script or get error like this
Installer Error (Status 0)
Click to expand...
Click to collapse
8.ini_set
For a text with the function
Example :
ini_set("text_next","Next >")
This means to go to the next part
9.if
This means on file found something it will do with the function
Example :
if prop("reboot.prop","selected.0")=="1" then
if
confirm(
#-- Title
"Reboot",
#-- Text
"Are you sure want to reboot your device?",
#-- Icon (Optional)
"@alert"
)=="yes"
then
reboot("now");
endif;
endif;
Click to expand...
Click to collapse
10.back
This will back the operation
11.selectbox
This function to select a function
12.checkbox
This function to check something
13.setvar
For show a text
14.appendvar
For show a text from /tmp
Updater-script on the next post
UPDATER-SCRIPT SECTION
Now lets see the example
Example :
ui_print(" ");
ui_print("");
ui_print(" Samperia Rom");
ui_print("");
ui_print("-By RendyAK");
ui_print(" ");
show_progress(1.0,0);
set_progress(0.5);
ui_print("");
ui_print("For Samsung Galaxy Star GT-S5282");
ui_print("");
set_progress(0.10);
ui_print(" ");
ui_print(" ");
ui_print("");
ui_print("JellyBean 4.1.2 with KitKat Plat Logo");
ui_print("");
set_progress(0.20);
ui_print(" ");
ui_print(" ");
ui_print("Installing... This may takes 5 or more Minutes");
ui_print(" ");
ui_print(" ");
ui_print("");
ui_print("Deleting system");
ui_print("");
ui_print(" ");
ui_print("Dont get scared of this part ");
set_progress(0.25);
run_program("/sbin/busybox", "mount", "/system");
delete_recursive("/system");
run_program("/sbin/busybox", "mount", "/data");
ui_print(" ");
ui_print("");
ui_print("Installing System apps");
ui_print("");
ui_print(" ");
set_progress(0.30);
package_extract_dir("system", "/system");
ui_print(" ");
ui_print("");
ui_print("Installing User apps");
ui_print("");
ui_print(" ");
package_extract_dir("data", "/data");
set_progress(0.35);
ui_print(" ");
ui_print("");
ui_print("Symlinking Font");
ui_print("");
ui_print(" ");
set_progress(0.40);
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("mksh", "/system/bin/sh");
ui_print(" ");
ui_print("");
ui_print("Symlinking toolbox");
ui_print("");
ui_print(" ");
set_progress(0.45);
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/lsof",
"/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/touch",
"/system/bin/umount", "/system/bin/uptime", "/system/bin/vmstat",
"/system/bin/watchprops",
"/system/bin/wipe");
ui_print(" ");
ui_print("");
ui_print("Symlinking Busybox");
ui_print("");
ui_print(" ");
set_progress(0.50);
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/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/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/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/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes", "/system/xbin/zcat", "/system/xbin/chat",
"/system/xbin/chrt", "/system/xbin/cksum", "/system/xbin/dnsdomainname",
"/system/xbin/ether-wake", "/system/xbin/fakeidentd", "/system/xbin/fbset",
"/system/xbin/fdflush", "/system/xbin/chatfdformat", "/system/xbin/fsck",
"/system/xbin/ftpd", "/system/xbin/hd", "/system/xbin/hostid",
"/system/xbin/hostname", "/system/xbin/httpd", "/system/xbin/hwclock",
"/system/xbin/ifenslave", "/system/xbin/inotifyd", "/system/xbin/ipaddr",
"/system/xbin/ipcalc", "/system/xbin/iplink", "/system/xbin/iproute",
"/system/xbin/iprule", "/system/xbin/iptunnel", "/system/xbin/logname",
"/system/xbin/lsof", "/system/xbin/microcom", "/system/xbin/mkdosfs",
"/system/xbin/mt", "/system/xbin/nameif", "/system/xbin/nc", "/system/xbin/nmeter",
"/system/xbin/ping6", "/system/xbin/powertop", "/system/xbin/pscan", "/system/xbin/rdate",
"/system/xbin/readahead", "/system/xbin/rfkill", "/system/xbin/script",
"/system/xbin/scriptreplay", "/system/xbin/setkeycodes", "/system/xbin/setlogcons",
"/system/xbin/showkey", "/system/xbin/smemcap", "/system/xbin/start-stop-daemon",
"/system/xbin/traceroute6", "/system/xbin/tty", "/system/xbin/tunctl", "/system/xbin/vconfig",
"/system/xbin/who", "/system/xbin/whois");
set_progress(0.70);
ui_print(" ");
ui_print("");
ui_print("Setting Permission");
ui_print("");
ui_print(" ");
set_perm(0, 0, 0755, "system/etc/customization");
set_perm(0, 0, 0755, "system/etc/customization/content");
set_perm(0, 0, 0755, "system/etc/customization/settings");
set_perm(0, 0, 0755, "system/etc/customization/content/com");
set_progress(0.80);
set_perm(0, 0, 0755, "system/etc/customization/content/com/sonyericsson");
set_perm(0, 0, 0755, "system/etc/customization/content/com/sonyericsson/r2r");
set_perm(0, 0, 0755, "system/etc/customization/content/com/sonyericsson/r2r/client");
set_perm(0, 0, 0755, "system/etc/customization/content/com/sonyericsson/wallpaperpicker");
set_progress(0.85);
set_perm(0, 0, 0755, "system/etc/customization/content/com/sonyericsson/wallpaperpicker/wallpapers");
set_perm(0, 0, 0755, "system/etc/customization/settings/com");
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson");
set_progress(0.90);
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson/android");
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson/android/support");
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson/androidapp");
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson/androidapp/storefront");
set_perm(0, 0, 0755, "system/etc/customization/settings/com/sonyericsson/appextensions");
set_perm(0, 0, 0755, "/system/addon.d/70-gapps.sh");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm_recursive(1000, 1000, 0771, 0644, "/data");
set_perm(0, 1000, 0750, "/system/bin/iptables");
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(0, 1000, 0750, "/system/bin/tc");
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, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 0, 0755, "/system/bin/bootanimation");
set_progress(0.95);
ui_print(" ");
ui_print("");
ui_print("Unmounting system and data");
ui_print("");
ui_print(" ");
unmount("/system");
unmount("/data");
set_progress(1.00);
ui_print("");
ui_print("Finished");
ui_print("Enjoy the smoothness of Samperia Rom ");
ui_print("First boot may takes 15 minutes");
Click to expand...
Click to collapse
ROM VERSION(NO ADVANCED INSTALL)
ADVANCED INSTALL
EXAMPLE (THANKS AGAIN TO MAKER OF ALL IN ONE ) :
set_progress(0.1);
#ui_print("@Mounting /system");
#run_program("/sbin/busybox","mount","/system");
run_program("/sbin/busybox", "mount", "/system/etc/init.d");
ui_print("");
if (file_getprop("/tmp/aroma/menu.prop","selected")=="1") then
if (file_getprop("/tmp/aroma-data/tweak.prop","item.1.1")=="1")
then
ui_print("");
ui_print("Installing Andrenaline Engine....");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print(" ______________________________ ");
ui_print("| Adrenaline Engine |");
ui_print("| Optimized For Galaxy Ace |");
ui_print("| Version: 4.4 |");
ui_print("|______________________________|");
ui_print("| By: ImbaWind @ XDA |");
ui_print("|______________________________|");
ui_print("| Credits: |");
ui_print("| *pikachu01 @ XDA |");
ui_print("| *zeppelinrox @ XDA |");
ui_print("| *iandol @ XDA |");
ui_print("| *Google |");
ui_print("|______________________________|");
ui_print("| Installation started.... |");
delete("/system/etc/init.d/S70darky_zipalign");
delete("/system/etc/init.d/ram_optimize");
delete("/system/etc/init.d/net_buffer");
delete("/system/etc/init.d/S98system_tweak");
delete("/system/etc/init.d/sqlite_optimize");
delete("/system/etc/init.d/ext4_lagfix");
delete("/system/etc/resolv.conf");
delete("/system/default.prop");
delete_recursive("/data/adrenaline");
delete("/data/local.prop");
package_extract_dir("andre/system", "/system");
package_extract_dir("andre/data", "/data");
set_perm_recursive(0, 2000, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 2000, 0777, 0777, "/system/usr/idc");
set_perm(0, 0, 0777, "/system/default.prop");
set_perm(0, 0, 0777, "/system/xbin/sqlite3");
set_perm(0, 0, 0777, "/system/xbin/zipalign");
set_perm(0, 0, 0777, "/system/xbin/openvpn");
set_perm(0, 0, 0777, "/system/lib/libncurses.so");
set_perm(0, 0, 0777, "/system/lib/libsqlite.so");
set_perm(0, 0, 0777, "/system/lib/libsqlite_jni.so");
set_perm(0, 0, 0777, "/system/etc/init.d/S98system_tweak");
set_perm(0, 0, 0777, "/system/etc/init.d/S70darky_zipalign");
set_perm(0, 0, 0777, "/system/etc/init.d/sqlite_optimize");
set_perm(0, 0, 0777, "/system/etc/init.d/ram_optimize");
set_perm(0, 0, 0777, "/system/etc/init.d/ext4_lagfix");
set_perm(0, 0, 0777, "/system/etc/init.d/net_buffer");
set_perm(0, 0, 0777, "/data/local.prop");
set_perm(0, 0, 0777, "/system/usr/idc/mxt244_ts_input.idc");
ui_print("Installation Complete");
ui_print("");
endif;
endif;
if (file_getprop("/tmp/aroma/menu.prop","selected")=="2") then
if (file_getprop("/tmp/aroma-data/utweak.prop","item.1.1")=="1")
then
ui_print("");
ui_print("Un-Installing Andrenaline Engine....");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print(" ______________________________ ");
ui_print("| Adrenaline Engine |");
ui_print("| Optimized For Galaxy Ace |");
ui_print("| Version: 4.4 |");
ui_print("|______________________________|");
ui_print("| By: ImbaWind @ XDA |");
ui_print("|______________________________|");
ui_print("| Credits: |");
ui_print("| *pikachu01 @ XDA |");
ui_print("| *zeppelinrox @ XDA |");
ui_print("| *iandol @ XDA |");
ui_print("| *Google |");
ui_print("|______________________________|");
ui_print("| Un-Installation started.... |");
delete("/system/etc/init.d/S70darky_zipalign");
delete("/system/etc/init.d/ram_optimize");
delete("/system/etc/init.d/net_buffer");
delete("/system/etc/init.d/S98system_tweak");
delete("/system/etc/init.d/sqlite_optimize");
delete("/system/etc/init.d/remount_fullext4");
delete("/system/etc/resolv.conf");
delete("/system/default.prop");
delete_recursive("/data/adrenaline");
delete("/data/local.prop");
delete("/system/xbin/openvpn");
delete("/system/xbin/sqlite3");
delete("/system/xbin/zipalign");
delete("/system/lib/libncurses.so");
delete("/system/usr/idc/mxt224_ts_input.idc");
ui_print("Un-Installation Complete");
ui_print("");
endif;
endif;
set_progress(1.000000);
ui_print("Press Next to continue...");
Click to expand...
Click to collapse
Lets go to explaination
1.ui_print
Show text on installer
2.delete
Delete file
3.delete_recursive
Delete folder
4.run_program
Run a program
Example :
run_program("/sbin/busybox", "mount", "/system");
5.show_progress
Show progress with persentage
6.set_progress
Same function (but this is for the second)
Example
show_progress(1.0,0);
set_progress(0.10);
Click to expand...
Click to collapse
7.if
See post #1
8.set_perm
Setting permission
Example (RWRR permission)
set_perm(0, 0, 0644, "/system/build.prop");
9.set_perm_recursive
Set permission on folder
Example :
RWRR PERMISSION
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
10.symlink
Link a file
11.package_extract_dir
Extract folder from zip directory
Example :
package_extract_dir("system", "/system");
Click to expand...
Click to collapse
12.package_extract_file
Extract file from zip directory
Example :
package_extract_file("system/app/SystemUI.apk", "/system/app/SystemUI.apk);
Click to expand...
Click to collapse
13.file_getprop
This function to get information from aroma-config and /tmp (need if function before)
Example
if
file_getprop("lang.prop", "selected.0")=="2"
then
ui_print("Bahasa Indonesia");
endif;
Click to expand...
Click to collapse
Thats it
See credits
Credits :
-Me
-amarulzz
-maker of All in One zip
Remind me if someone missed
Sent from my GT-S5282 using XDA Free mobile app
Theme list
From Aroma :
ICS
STOCK
MIUI
MIUI4
HTC Sense
How to set a theme ?
See this (aroma-config)
theme(miui) MIUI Theme
theme(ics) <ICS Theme
theme(miui4) MIUI 4 Theme
theme(sense) HTC Sense theme
Click to expand...
Click to collapse
If you didn't set you will use stock/generic theme
Icon setting
Example
"Install ?","icons/imagename"
Or
"Install ?", @alert"
Click to expand...
Click to collapse
WHATS @alert ? @alert is a simple command
Example : @alert (on stock)
This means icons/alert @alert (on theme)
This means theme directory/icon.alert
Okay thats it
Reserved
Reserved
Great Guide..!!
Excelent work..
Thanks

Add cool Omni ascii graphics to your updater-script, the easy way!

Add cool Omni ascii graphics to your updater-script, the easy way!
NOTE: THE FONT CHOICES ON XDA DO NOT PRESENT THE ASCII TEXT PROPERLY. IF YOU COPY AND PASTE THE ASCII TEXT TO NOTEPAD, MOUSEPAD, OR GEDIT, THEY WILL SHOW UP PROPERLY. THESE ASCII GRAPHICS WILL LOOK RIGHT ON YOUR PHONE IF ADDED TO YOUR UPDATER-SCRIPT.
I've noticed that most rom updater scripts (the script that handles installation during TWRP install) usually don't have much by way of appeal. Actually, most of the time, the script is not even informative to what is truly happening on the phone at the moment, but that is a subject for another time.
One of the great things about the updater-script, is you can add notes for it to print on the screen. This would be a useful way to keep people up to date about what is going on. Another way to use this, however, is to add some class to your rom install script by adding some ascii text that resembles a picture.
Now before you get flustered at the thought of trying to draw your own ascii art, keep in mind that there are some really great programs to do that for you. A really simple program for Ubuntu/Debian computers is a program called jp2a.
To get it, use
$sudo apt-get install jp2a
After installing, then you can create your graphics by simple command line options. Find a picture that you want to use, and then ascii it!
$jp2a nameofyourpicture.jpg
The terminal window will convert your picture into ascii text. You may have to play with the window size of your terminal in order to get the correct size of your outputted image. There are a lot of options, which you can see with:
$jp2a --help
I used jp2a on several OmniRom logos to make these examples.
Here are some examples that I added the taglines to, so you can just drop them into your updater-script:
OmniRom
Code:
ui_print(" ':oddddddddddddddddddddddddo;. ");
ui_print(" ;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd, ");
ui_print(" .dkkkkkd:;;;;;;;;;;;;;;;;;;;;:dkkkkko. ");
ui_print(" dkkkko. .dkkkko ");
ui_print(" .kkkkk. .kkkkk. ");
ui_print(" .kkkkk. .kkkkk. ");
ui_print(" .kkkkk. .kkkkk. ");
ui_print(" .kkkkk. . . .kkkkk. ");
ui_print(" .kkkkk. 'xl lx' .kkkkk. ");
ui_print(" .kkkkk. .do. ..';;;;'.. .od. .kkkkk. ");
ui_print(" .kkkkk. .:kxkkkkkkkkkkkkxk:. .kkkkk. ");
ui_print(" .kkkkk. .lkkkkkkkkkkkkkkkkkkkkl. .kkkkk. ");
ui_print(" .kkkkk,lkkkklokkkkkkkkkkkkolkkkkl,kkkkk. ");
ui_print(" .kkkkkkkkkkk[]kkkkkkkkkkkk[]kkkkkkkkkkk. ");
ui_print(" dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko ");
ui_print(" .okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl. ");
ui_print(" 'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkko' ");
ui_print(" .;lllllllllllllllllllllllllll. ");
OmniRom Inverted
Code:
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMMKdc;,,,,,,,,,,,,,,,,,,,,,,;ldKMMMMMM");
ui_print("MMMM0c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,l0MMMM");
ui_print("MMWd,,,,,cx0KKKKKKKKKKKKKKKKKK0xc,,,,;kMMM");
ui_print("MM0,,,,,kWMMMMMMMMMMMMMMMMMMMMMMWx,,,,;0MM");
ui_print("MMO,,,,cWMMMMMMMMMMMMMMMMMMMMMMMMMc,,,,OMM");
ui_print("MMO,,,,lMMMMMMMMMMMMMMMMMMMMMMMMMMl,,,,OMM");
ui_print("MMO,,,,lMMMMMMMMMMMMMMMMMMMMMMMMMMl,,,,OMM");
ui_print("MMO,,,,lMMWxkWMMMMMMMMMMMMMMWkxWMMl,,,,OMM");
ui_print("MMO,,,,lMMMk,dWMMMMNNNNMMMMWd,xMMMl,,,,OMM");
ui_print("MMO,,,,lMMMM0;cdoc:,,,,:codc;0MMMMl,,,,OMM");
ui_print("MMO,,,,lMMXd:,,,,,,,,,,,,,,,,:dXMMl,,,,OMM");
ui_print("MMO,,,,lKo,,,,;,,,,,,,,,,,,;,,,,oKl,,,,OMM");
ui_print("MMO,,,,;;,,,,o0:,,,,,,,,,,:0o,,,,;;,,,,OMM");
ui_print("MM0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;0MM");
ui_print("MMMk;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;OMMM");
ui_print("MMMMKl,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,lKMMMM");
ui_print("MMMMMMXxc:::::::::::::::::::::::::dXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
OmniRom black and white and then inverted
Code:
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
So, as you can see in this example, here is an updater script that has the ascii art as an image that shows up at the start of loading the rom. You really could put it anywhere.
Code:
show_progress(1.34, 65);
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("Formatting /system");
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
ui_print("Mounting /system");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
ui_print("Extracting /system");
package_extract_dir("system", "/system");
ui_print("Creating symbolic links");
symlink("../xbin/su", "/system/bin/su");
symlink("/firmware-mdm/image/acdb.mbn", "/system/etc/firmware/acdb.mbn");
symlink("/firmware-mdm/image/apps.mbn", "/system/etc/firmware/apps.mbn");
symlink("/firmware-mdm/image/dsp1.mbn", "/system/etc/firmware/dsp1.mbn");
********************etc*********************************************************
set_metadata("/system/xbin/su", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
ui_print("Unmounting /system");
unmount("/system");
ui_print("Installation complete.");
I'd like to take it one step further: Rather than a progress bar, or along with a progress bar, you could create a line by line fill in picture. Here is an example of an updater-script with this concept:
Code:
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
show_progress(1.34, 65);
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
ui_print("MMMMMM0l. 'lKMMMMMM");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
ui_print("MMMMO' ,OMMMM");
package_extract_dir("system", "/system");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
symlink("../xbin/su", "/system/bin/su");
symlink("/firmware-mdm/image/acdb.mbn", "/system/etc/firmware/acdb.mbn");
symlink("/firmware-mdm/image/apps.mbn", "/system/etc/firmware/apps.mbn");
symlink("/firmware-mdm/image/dsp1.mbn", "/system/etc/firmware/dsp1.mbn");
symlink("/firmware-mdm/image/dsp2.mbn", "/system/etc/firmware/dsp2.mbn");
symlink("/firmware-mdm/image/dsp3.mbn", "/system/etc/firmware/dsp3.mbn");
symlink("/firmware-mdm/image/efs1.mbn", "/system/etc/firmware/efs1.mbn");
symlink("/firmware-mdm/image/efs2.mbn", "/system/etc/firmware/efs2.mbn");
symlink("/firmware-mdm/image/efs3.mbn", "/system/etc/firmware/efs3.mbn");
symlink("/firmware-mdm/image/mdm_acdb.img", "/system/etc/firmware/mdm_acdb.img");
symlink("/firmware-mdm/image/rpm.mbn", "/system/etc/firmware/rpm.mbn");
symlink("/firmware-mdm/image/sbl1.mbn", "/system/etc/firmware/sbl1.mbn");
symlink("/firmware-mdm/image/sbl2.mbn", "/system/etc/firmware/sbl2.mbn");
symlink("/firmware/image/q6.b00", "/system/etc/firmware/q6.b00");
symlink("/firmware/image/q6.b01", "/system/etc/firmware/q6.b01");
symlink("/firmware/image/q6.b03", "/system/etc/firmware/q6.b03");
symlink("/firmware/image/q6.b04", "/system/etc/firmware/q6.b04");
symlink("/firmware/image/q6.b05", "/system/etc/firmware/q6.b05");
symlink("/firmware/image/q6.b06", "/system/etc/firmware/q6.b06");
symlink("/firmware/image/q6.mdt", "/system/etc/firmware/q6.mdt");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
symlink("/firmware/image/tzapps.b00", "/system/etc/firmware/tzapps.b00");
symlink("/firmware/image/tzapps.b01", "/system/etc/firmware/tzapps.b01");
symlink("/firmware/image/tzapps.b02", "/system/etc/firmware/tzapps.b02");
symlink("/firmware/image/tzapps.b03", "/system/etc/firmware/tzapps.b03");
symlink("/firmware/image/tzapps.mdt", "/system/etc/firmware/tzapps.mdt");
symlink("/firmware/image/vidc.b00", "/system/etc/firmware/vidc.b00");
symlink("/firmware/image/vidc.b01", "/system/etc/firmware/vidc.b01");
symlink("/firmware/image/vidc.b02", "/system/etc/firmware/vidc.b02");
symlink("/firmware/image/vidc.b03", "/system/etc/firmware/vidc.b03");
symlink("/firmware/image/vidc.mdt", "/system/etc/firmware/vidc.mdt");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash",
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename",
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev",
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat",
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat",
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp",
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot",
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm",
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond",
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date",
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod",
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff",
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd",
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo",
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env",
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false",
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/flash_lock",
"/system/xbin/flash_unlock", "/system/xbin/flashcp",
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync",
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser",
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups",
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod",
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat",
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall",
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln",
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr",
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat",
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat",
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat",
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp",
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat",
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite",
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice",
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd",
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep",
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress",
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff",
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps",
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize",
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir",
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts",
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq",
"/system/xbin/setconsole", "/system/xbin/setserial",
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum",
"/system/xbin/sha256sum", "/system/xbin/sha3sum",
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort",
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings",
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff",
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl",
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar",
"/system/xbin/taskset", "/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/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize",
"/system/xbin/tune2fs", "/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/unxz", "/system/xbin/unzip", "/system/xbin/uptime",
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode",
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc",
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami",
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat",
"/system/xbin/yes",
"/system/xbin/zcat");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
symlink("libGLESv2.so", "/system/lib/libGLESv3.so");
symlink("logcat", "/system/bin/logdog", "/system/bin/lolcat",
"/system/bin/loldog");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
symlink("mksh", "/system/bin/sh");
symlink("mount.exfat", "/system/bin/fsck.exfat",
"/system/bin/mkfs.exfat");
symlink("pigz", "/system/xbin/unpigz");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon",
"/system/bin/chmod", "/system/bin/chown", "/system/bin/clear",
"/system/bin/cmp", "/system/bin/cp", "/system/bin/date",
"/system/bin/dd", "/system/bin/df", "/system/bin/dmesg",
"/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent",
"/system/bin/getprop", "/system/bin/getsebool", "/system/bin/grep",
"/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/load_policy", "/system/bin/log", "/system/bin/ls",
"/system/bin/lsmod", "/system/bin/lsof", "/system/bin/md5",
"/system/bin/mkdir", "/system/bin/mkswap", "/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/r", "/system/bin/readlink",
"/system/bin/renice", "/system/bin/restart", "/system/bin/restorecon",
"/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod",
"/system/bin/route", "/system/bin/runcon", "/system/bin/schedtop",
"/system/bin/sendevent", "/system/bin/setconsole",
"/system/bin/setenforce", "/system/bin/setfattr", "/system/bin/setprop",
"/system/bin/setsebool", "/system/bin/sleep", "/system/bin/smd",
"/system/bin/start", "/system/bin/stop", "/system/bin/swapoff",
"/system/bin/swapon", "/system/bin/sync", "/system/bin/top",
"/system/bin/touch", "/system/bin/umount", "/system/bin/uptime",
"/system/bin/vmstat", "/system/bin/watchprops",
"/system/bin/wipe");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
set_metadata_recursive("/system", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
set_metadata("/system/bin/app_process", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0");
set_metadata("/system/bin/clatd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clatd_exec:s0");
set_metadata("/system/bin/debuggerd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:debuggerd_exec:s0");
set_metadata("/system/bin/dhcpcd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dhcp_exec:s0");
set_metadata("/system/bin/dnsmasq", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dnsmasq_exec:s0");
set_metadata("/system/bin/drmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:drmserver_exec:s0");
set_metadata("/system/bin/efsks", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:kickstart_exec:s0");
set_metadata("/system/bin/hostapd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0");
set_metadata("/system/bin/installd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:installd_exec:s0");
set_metadata("/system/bin/keystore", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:keystore_exec:s0");
set_metadata("/system/bin/ks", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:kickstart_exec:s0");
set_metadata("/system/bin/mediaserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaserver_exec:s0");
ui_print("MMk ,MMKc. .cKMM, kMM");
set_metadata("/system/bin/mksh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0");
set_metadata("/system/bin/mtpd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mtp_exec:s0");
set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/bin/netd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netd_exec:s0");
set_metadata("/system/bin/ping", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ping_exec:s0");
set_metadata("/system/bin/pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ppp_exec:s0");
set_metadata("/system/bin/qcks", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:kickstart_exec:s0");
set_metadata("/system/bin/racoon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:racoon_exec:s0");
set_metadata("/system/bin/rild", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rild_exec:s0");
set_metadata("/system/bin/run-as", "uid", 0, "gid", 2000, "mode", 0750, "capabilities", 0xc0, "selabel", "u:object_r:runas_exec:s0");
set_metadata("/system/bin/sdcard", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sdcardd_exec:s0");
set_metadata("/system/bin/servicemanager", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:servicemanager_exec:s0");
ui_print("MMk ,K: ;0, kMM");
set_metadata("/system/bin/surfaceflinger", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:surfaceflinger_exec:s0");
set_metadata("/system/bin/vold", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vold_exec:s0");
set_metadata("/system/bin/wpa_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wpa_exec:s0");
set_metadata_recursive("/system/etc/dhcpcd", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:dhcp_system_file:s0");
set_metadata("/system/etc/dhcpcd/dhcpcd-run-hooks", "uid", 1014, "gid", 2000, "mode", 0550, "capabilities", 0x0, "selabel", "u:object_r:dhcp_system_file:s0");
ui_print("MMk :eek:. .O: kMM");
set_metadata_recursive("/system/etc/init.d", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/init.d", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/install-recovery.sh", "uid", 0, "gid", 0, "mode", 0544, "capabilities", 0x0);
set_metadata_recursive("/system/etc/ppp", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0555, "capabilities", 0x0, "selabel", "u:object_r:ppp_system_file:s0");
set_metadata("/system/recovery-from-boot.p", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
set_metadata("/system/vendor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/firmware", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/lib/drm", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
ui_print("MMO OMM");
set_metadata("/system/vendor/lib/drm/libdrmwvmplugin.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/egl", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/lib/hw", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/hw/power.msm8960.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
ui_print("MMMd xMMM");
set_metadata_recursive("/system/vendor/lib/mediadrm", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/mediadrm/libwvdrmengine.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/xbin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
ui_print("MMMM0; ;KMMMM");
set_metadata("/system/xbin/librank", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/procmem", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/procrank", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/su", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
ui_print("MMMMMMKo'.........................lXMMMMMM");
unmount("/system");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
So, as it performs the loading actions, it also draws your picture!
Either way, I hope you are inspired to add some flare to your rom updater-script. Adding these little touches to your rom shows others that you are into the details. Enjoy!
You can even do ascii movies!
You can also do a "movie" by making ascii text images that take up your devices full screen, and then intersperse each capture between the lines. You can either make each a seperate capture, such as from a real movie, or edit the images you have. For example, I have a blinking OmniRom logo:
Code:
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :o. .o: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :u. .u: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :.. ..: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :u. .u: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :o. .o: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
This example works on my device screen, as it is somewhat small, but you may need a different size for a "movie" on your screen.
And, if you really want, you can also do the matrix by adding these lines interspersed in your script:
Code:
ui_print(" . .'. ");
ui_print(" .l ,. ");
ui_print(".', .. ");
ui_print(" '' ... ");
ui_print(" c;..:' ");
ui_print(" .. .. ");
ui_print(".c;.;;. ;c..c. ;:. ");
ui_print(".c,.,,. ,c..;' ',. ");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" .. . .. .. . ");
ui_print("'c,.,;..;;. ,..:l..:. ");
ui_print(".,'.,,'.,,. ;,, ':..;; ");
ui_print(" '' ... .. ' ... ..... ");
ui_print("':' 'l' .c''l, ,::.,;. ;,. ");
ui_print(" .. ....'. .. .'. . . ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(".;. ., ,, ;:. .;. ;:. c:.'lo.");
ui_print(" '. .;;..,,.:;. .. ',. ,, .:' ");
ui_print(" .. .. .'. .'. .. , ... . ");
ui_print("':' .,,..:: ., :l''l; ,:: ; ");
ui_print(" .. .. .'. . .'..' .. .. ");
ui_print(".;; ,'.,ll..'. ,..;, ''' .;. ");
ui_print(".:: .. .c;.:;;.':'.:; ;': .:, ");
ui_print(" .. ,, . '.. ... '' ");
ui_print(" '. 'KK; c,:.lo, ., ;. ");
ui_print("',; .dx. ,., ,' ' .. ");
ui_print(" .. ... .. .,. .. .. ,. ");
ui_print(".:; .c;;.:c.::' ;l' .:: .c: ");
ui_print(" . .'..... . .. ... ... ");
ui_print(";::... ;0k:;::. ,, .. 'c. ,::.");
ui_print(".,, ., .lx,.,,..;; .' ,;. .,,.");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");
ui_print(" .. .. c; .. .' . .' .. ");
ui_print(" .. ',..''..,,.''..;,. .'. '. ");
ui_print(".;; .:. ,;..:c.c':.;;. .:' ,;:.");
ui_print("... . .. .. .. . .. ");
ui_print(".:c..;'.;;. ' ;c..c;'',; ':, .::.");
ui_print(" .. ....'. .. .'. . . ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" .. . .. .. . ");
ui_print("'c,.,;..;;. ,..:l..:. ");
ui_print(".,'.,,'.,,. ;,, ':..;; ");
ui_print(" '' ... .. ' ... ..... ");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");
ui_print(" .. .. c; .. .' . .' .. ");
ui_print(" .. ',..''..,,.''..;,. .'. '. ");
ui_print(".;; .:. ,;..:c.c':.;;. .:' ,;:.");
ui_print(".', .. ");
ui_print(" '' ... ");
ui_print(" c;..:' ");
ui_print(" .. .. ");
ui_print(".c;.;;. ;c..c. ;:. ");
ui_print(".c,.,,. ,c..;' ',. ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" '. .;;..,,.:;. .. ',. ,, .:' ");
ui_print(" .. .. .'. .'. .. , ... . ");
ui_print("':' .,,..:: ., :l''l; ,:: ; ");
ui_print(" .. .. .'. . .'..' .. .. ");
ui_print(".;; ,'.,ll..'. ,..;, ''' .;. ");
ui_print(".:: .. .c;.:;;.':'.:; ;': .:, ");
ui_print(" .. ,, . '.. ... '' ");
ui_print(" '. 'KK; c,:.lo, ., ;. ");
ui_print("',; .dx. ,., ,' ' .. ");
ui_print(" .. ... .. .,. .. .. ,. ");
ui_print(".:; .c;;.:c.::' ;l' .:: .c: ");
ui_print(" . .'..... . .. ... ... ");
ui_print(";::... ;0k:;::. ,, .. 'c. ,::.");
ui_print(".,, ., .lx,.,,..;; .' ,;. .,,.");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");
This scrolling matrix will not quite be as smooth as the matrix you are used to, as it will pause between functions, but it isn't half bad!

Categories

Resources