Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[TUTO][PATERN]AROMA - NORMAL - DUALBOOT - ADDONS - MODs and VRTHEME

OP Troubadour666

30th May 2014, 10:07 PM   |  #1  
Troubadour666's Avatar
OP Recognized Contributor
Flag 43.7031 - 7.2661
Thanks Meter: 5,551
 
2,328 posts
Join Date:Joined: Aug 2012
More
Hi,

always trying to be perfect for my dualbooters followers and maybe other user, i try some experiences with universal flasher and i want to share my result and idea with all my friends.

i have an aroma-config and an updater-script you can use to manage your own ROM FLAHSER. Just inform yourself with the descriptions above :

This AROMA is based on @_Sale_ META-INF and has 5 kernels choice to flash too.

This AROMA you can adapt with addition of three MODs or maybe more (that have VRTHEME process too)

This AROMA give you choice to flash :

- ROM (modem+kernel too)
- ROM + 1 MOD in one step (modem+kernel too)
- only choice to SWAP between 3 MODs, on the ROM flashed before

you have to download the entire pack to adapt it for your future management of ZIP FLASHER.
my zip have MS4 modem inside but you can replace in folder with your own.
it have all kernels from NeatRom aroma 6.3 + @dorimanx old 8.43v76 and new @StanTRC 8.43v112 recovery.

About structure folder/files i pushed in the 50Mo pack zip you need :

IN BLUE, FIX untouchable NAMED folder and files.
IN RED, FOLDER you have to manage with modem.bin and zImage extracted from original rom ZIP

Code:
+---META-INF
|   \---com
|       \---google
|           \---android
|               \---aroma
|                   +---exec_demo
|                   +---fonts
|                   +---icons
|                   +---langs
|                   +---splash
|                   +---themes
|                   |   +---ics
|                   +---ttf
|                   \---unicode


+---FIXDORI
|   \---system
|       \---lib
---------------libsavsff.so
---------------libsavsvc.so
---------------libsdmbc.so
---------------libvwengine.so


+---kernels
|   +---apolo
|   |   +---light
----------------zImage
|   |   \---regular
----------------zImage
|   +---dorimanx
------------zImage
|   +---dorimanxstan
------------zImage
|   +---philz
------------zImage
|   \---ROMKERNEL
------------zImage  (extracted from original zip rom and pushed here)


+---Trouba
---------dbinstalltheme
---------efs_backup.sh
---------flash_image
---------installtheme.sh
---------symlink_dualboot
---------symlink_preload
---------modem.bin (extracted from original zip rom and pushed here)

+---vrtheme
---------cleanup.sh
---------zip
---------zipalign

Use this folder if you have some addons to add with the 4.1.2 rom you have choose.

+---Addons
|   +---data
|   |   +---app
|   |   \---local
|   +---preload
|   |   \---symlink
|   |       \---system
|   |           \---app
|   \---system
|       +---app
|       +---bin
|       +---etc
|       +---framework
|       \---lib

Use this folder if you have one 2nd complete mod/theme to add with the 4.1.2 rom you have choose and extrated on your PC to fill here
it can have VRTHEME folder too. If mod/theme is XMORPH, it simple to add too.

+---mod1
|   +---data
|   |   +---app
|   |   \---local
|   +---preload
|   |   \---symlink
|   |       \---system
|   |           \---app
|   +---system
|   |   +---app
|   |   +---bin
|   |   +---etc
|   |   +---framework
|   |   \---lib
|   \---vrtheme
|       +---data
|       |   \---app
|       +---preload
|       |   \---symlink
|       |       \---system
|       |           \---app
|       |               \---SystemUI.apk
|       |                    \----drawable
|       \---system
|           +---app
|           |   \---LidroidSettings.apk
|           |        \----drawable
|           \---framework
|               \---framework-res.apk
|                    \----drawable

Use this folder if you have one 2nd complete mod/theme to add with the 4.1.2 rom you have choose and extrated on your PC to fill here.

+---mod2
|   +---data
|   |   +---app
|   |   \---local
|   +---preload
|   |   \---symlink
|   |       \---system
|   |           \---app
|   +---system
|   |   +---app
|   |   +---bin
|   |   +---etc
|   |   +---framework
|   |   \---lib
|   \---vrtheme
|       +---data
|       |   \---app
|       +---preload
|       |   \---symlink
|       |       \---system
|       |           \---app
|       |               \---SystemUI.apk (ist a vrtheme sample named folder)
|       |                    \----drawable
|       \---system
|           +---app
|           |   \---LidroidSettings.apk (ist a vrtheme sample named folder)
|           |        \----drawable
|           \---framework
|               \---framework-res.apk (ist a vrtheme sample named folder)
|                     \----drawable


Use this folder if you have one 2nd complete mod/theme to add with the 4.1.2 rom you have choose and extrated on your PC to fill here
+---mod3
|   +---data
|   |   +---app
|   |   \---local
|   +---preload
|   |   \---symlink
|   |       \---system
|   |           \---app
|   +---system
|   |   +---app
|   |   +---bin
|   |   +---etc
|   |   +---framework
|   |   \---lib
|   \---vrtheme
|       +---data
|       |   \---app
|       +---preload
|       |   \---symlink
|       |       \---system
|       |           \---app
|       |               \---SystemUI.apk
|       |                    \----drawable
|       \---system
|           +---app
|           |   \---LidroidSettings.apk
|           |         \----drawable
|           \---framework
|                \---framework-res.apk
|                      \----drawable

AROMA-CONFIG i manage for you :
all RED LINES are for your personal use
Code:
menubox(
  "Install",
  "",
  "@icon.apps",
  "installtype.prop",
  "Normal use","",1,
  "DualBoot use","",0
);
menubox(
  "Install",
  "Flash Rom with or without 1 MOD",
  "@icon.apps",
  "global.prop",
  "Whole Rom","",1,
  "Apply 1 MODs on your ROM","",0
);
menubox(
	"Need Wipe during flash",
	"systemui secsettings cleaner",
	"@icon.apps",
	"wipe.prop",
	"Yes","",0,
	"No Skip","",1
);
menubox(
	"Swap to 1 MOD",
	"",
	"@icon.apps",
	"mod.prop",
	"Mod 1","",0,
	"Mod 2","",0,
	"Mod 3","",0,
	"Skip","",1
);
if prop("mod.prop","selected")=="1" then
	splash(5000, "splash/imageMOD1");  (change and rename png image in META-INF\com\google\android\aroma\splash)
endif;
if prop("mod.prop","selected")=="2" then
	 splash(5000, "splash/imageMOD2"); (change and rename png image in META-INF\com\google\android\aroma\splash)
endif;
if prop("mod.prop","selected")=="3" then
	 splash(5000, "splash/imageMOD3"); (change and rename png image in META-INF\com\google\android\aroma\splash)
endif;
if prop("global.prop","selected")=="1" then
	menubox(
		"Kernels",
		"tick to choose",
		"@icon.apps",
		"kernels.prop",
		"XWMS3 PhilZ Kernel","",0,
		"Apolo Light v4.14","",0,
		"Apolo Regular v4.14","",0,
		"DorimanX 8.43v76","",0,
		"DorimanX 8.43v112","",0,
		"ROM KERNEL","",1 (choice kernel extracted from original zip rom and pushed in kernels\ROMKERNEL folder of zip)
	);
endif;
updater-script : nothing to change.
Code:
show_progress(0.500000, 0);
ui_print("");
ui_print("Universal Flasher");
ui_print("Aroma and Script based");
ui_print("On idea from Troubadour666 from XDA");
unmount("/system");
unmount("/cache");
unmount("/preload");
run_program("/sbin/mount", "/dev/block/mmcblk0p9", "/system");
run_program("/sbin/mount", "/dev/block/mmcblk0p10", "/data");
run_program("/sbin/mount", "/dev/block/mmcblk0p7", "/cache");
run_program("/sbin/mount", "/dev/block/mmcblk0p12", "/preload");
run_program("/sbin/mount", "/dev/block/mmcblk0p11", "/sdcard");
run_program("/sbin/rm", "-rf", "/sdcard/vrtheme/");
ui_print(" Please wait... Extracting needed tools to vrtheme...");
package_extract_dir("vrtheme", "/sdcard/vrtheme");
package_extract_file("Trouba/installtheme.sh", "/sdcard/vrtheme/installtheme.sh");
if file_getprop("/tmp/aroma/installtype.prop","selected.1") == "2" then
	package_extract_file("Trouba/dbinstalltheme.sh", "/sdcard/vrtheme/installtheme.sh");
endif;
set_perm(0, 0, 0777, "/sdcard/vrtheme/installtheme.sh");
set_perm(0, 0, 0777, "/sdcard/vrtheme/zip");
set_perm(0, 0, 0777, "/sdcard/vrtheme/cleanup.sh");
set_perm(0, 0, 0777, "/sdcard/vrtheme/zipalign");
package_extract_file("Trouba/symlink_preload", "/tmp/symlink_preload");
if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
	package_extract_file("Trouba/symlink_dualboot", "/tmp/symlink_preload");
endif;
if file_getprop("/tmp/aroma/wipe.prop","selected") == "1" then
	delete_recursive("/data/data/com.android.providers.settings");
	delete_recursive("/data/data/com.android.settings");
	delete_recursive("/data/data/com.android.systemui");
endif;
if file_getprop("/tmp/aroma/global.prop","selected") == "1" then
	package_extract_file("Trouba/efs_backup.sh", "/tmp/efs_backup.sh");
	set_perm(0, 0, 0755, "/tmp/efs_backup.sh");
	run_program("/tmp/efs_backup.sh");
	delete("/tmp/efs_backup.sh");
	delete_recursive("/system");
	delete_recursive("/cache");
	delete_recursive("/data/dalvik-cache");
	delete("/data/system/batterystats.bin");
	ui_print("Install System ROM");
	ui_print(".................");
	package_extract_dir("system", "/system");
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "4" ||file_getprop("/tmp/aroma/kernels.prop","selected") == "5" then
		ui_print("@ fix libs videoplayer for DorimanX");
		package_extract_dir("FIXDORI/system", "/system");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		delete_recursive("/preload");
		package_extract_dir("preload", "/preload");
		package_extract_dir("Addons/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		delete_recursive("/data/sec_data");
		package_extract_dir("preload/symlink/system/app", "/data/sec_data");
		package_extract_dir("Addons/preload/symlink/system/app", "/data/sec_data");
	endif;
	if file_getprop("/tmp/aroma/mod.prop","selected") == "4" then
		package_extract_dir("Addons/data", "/data");
		package_extract_dir("Addons/system", "/system");
	endif;
endif;
if file_getprop("/tmp/aroma/mod.prop","selected") == "1" then
	ui_print("@ Installing MOD 1");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod1/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod1/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod1/data", "/data");
	package_extract_dir("mod1/system", "/system");
	package_extract_dir("mod1/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;
if file_getprop("/tmp/aroma/mod.prop","selected") == "2" then
	ui_print("@ Installing MOD 2");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod2/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod2/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod2/data", "/data");
	package_extract_dir("mod2/system", "/system");
	package_extract_dir("mod2/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;
if file_getprop("/tmp/aroma/mod.prop","selected") == "3" then
	ui_print("@ Installing MOD 3");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod3/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod3/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod3/data", "/data");
	package_extract_dir("mod3/system", "/system");
	package_extract_dir("mod3/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;

# if file_getprop("/tmp/aroma/mod.prop","selected") == "1" ||  file_getprop("/tmp/aroma/mod.prop","selected") == "2" || file_getprop("/tmp/aroma/mod.prop","selected") == "3" then
#	delete("/system/framework/filexxx.jar");
#	delete("/system/framework/filexxx.apk");
#	delete("/system/app/filexxx.apk");
#	delete("/system/xxxxx/filexxx.xxx");
#	delete_recursive("/system/folderxxxx");
#	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
#		delete("/preload/symlink/system/app/filexxxxx.apk");
#	endif;
#	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
#		delete("/data/sec_data/filexxxx.apk");
#	endif;
# endif;

uncomment these # lines if you want to manage some deletation, then change filexxxxx.apk or xxxx folder by the good path from your /system/, /preload/ /data/sec_data/ or other folders. you have to reproduce these bolded individual deleters lines for each files or folders you need to delete during rom installation.

set_perm(2000, 2000, 0771, "/data/local");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
if file_getprop("/tmp/aroma/global.prop","selected") == "1" then
	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/inetd", "/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("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/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/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");
	set_perm_recursive(0, 0, 0755, 0644, "/system");
	set_perm_recursive(0, 0, 0755, 0755, "/system/etc/init.d");
	set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
	set_perm(0, 3003, 06755, "/system/bin/ip");
	set_perm(0, 3003, 02750, "/system/bin/netcfg");
	set_perm(0, 3004, 02755, "/system/bin/ping");
	set_perm(0, 2000, 06750, "/system/bin/run-as");
	set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
	set_perm(0, 0, 0755, "/system/etc/bluetooth");
	set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
	set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
	set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
	set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
	set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
	set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
	set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
	set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");
	set_perm(0, 2000, 0755, "/system/vendor/firmware");
	set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
	set_perm(0, 0, 06755, "/system/xbin/su");
endif;
if file_getprop("/tmp/aroma/global.prop","selected") == "1" then
	ui_print("Flashing kernel ...");
	package_extract_file("Trouba/flash_image", "/tmp/flash_image");
	set_perm(0, 0, 0777, "/tmp/flash_image");
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "1" then
		ui_print("@ Installing XWMS3 PhilZ Kernel");
		assert(package_extract_file("kernels/philz/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "2" then
		ui_print("@ Installing Apolo Light Kernel");
		assert(package_extract_file("kernels/apolo/light/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "3" then
		ui_print("@ Installing SensMe choice Apolo Regular Kernel");
		assert(package_extract_file("kernels/apolo/regular/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "4" then
		ui_print("@ Installing DorimanX 8.43v76");
		assert(package_extract_file("kernels/dorimanx/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "5" then
		ui_print("@ Installing DorimanX 8.43v112");
		assert(package_extract_file("kernels/dorimanxstan/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	if file_getprop("/tmp/aroma/kernels.prop","selected") == "6" then
		ui_print("@ Installing KERNEL FROM ROM");
		assert(package_extract_file("kernels/ROMKERNEL/zImage", "/tmp/zImage"),run_program("/tmp/flash_image", "/dev/block/mmcblk0p5", "/tmp/zImage"),delete("/tmp/zImage"));
	endif;
	delete("/tmp/flash_image");
endif;
if file_getprop("/tmp/aroma/global.prop","selected") == "1" then
	ui_print("Flash modem I9100XXMS4...");
	package_extract_file("Trouba/flash_image", "/tmp/flash_image");
	set_perm(0, 0, 0777, "/tmp/flash_image");
	assert(package_extract_file("Trouba/modem.bin", "/tmp/modem.bin"), run_program("/tmp/flash_image", "/dev/block/mmcblk0p8", "/tmp/modem.bin"), delete("/tmp/modem.bin"));
	delete("/tmp/flash_image");
endif;
set_perm(0, 0, 0777, "/tmp/symlink_preload");
run_program("/tmp/symlink_preload");
ui_print("Limpiando archivos temporales...");
delete("/tmp/symlink_preload");
delete("/tmp/cleanup.sh");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
run_program("/sbin/umount", "/cache");
run_program("/sbin/umount", "/preload");
ui_print("");
ui_print("");
ui_print(" ");
ui_print("            Enjoy           ");
ui_print("        Please reboot       ");
link :

PATERN-AROMA-PATCH_install-ROM-and-3-MODs-WITH-vrtheme.zip - 49.23 MB

thanks.
Last edited by Troubadour666; 31st May 2014 at 06:26 PM.
The Following 10 Users Say Thank You to Troubadour666 For This Useful Post: [ View ]
30th May 2014, 10:07 PM   |  #2  
Troubadour666's Avatar
OP Recognized Contributor
Flag 43.7031 - 7.2661
Thanks Meter: 5,551
 
2,328 posts
Join Date:Joined: Aug 2012
More
Pattern to only flash mods+vrthemes
You will need to MIX some MODs (VRthemes too) in AllInOne ZIP.

I give you complete structure of ZIP + aroma-config + updater-script to mix 1, 2 or 3 mods you want to flash in one step. Soon , i explain here how to add more MODs in your new managed ZIP.

Now, imagine you have 2 or 3 MODs.zip and you want to mix them in one ZIP and have choice to flash both in one step.

- Decompile each mods in a folder on PC (one folder/mod)
- Delete META-INF in each extracted folder
- Normaly , for each mod extracted, you will have a folder similar with the following structure:

Code:
+---THE MOD EXTRACTED :

|   +---META-INF
|   |   +---blablabla
|   |         \------blablabla
|   |                \----blablabla
|   |                      \---- updater-script (important file you have to examine about , the DEV can
                                                           delete some files in the installed rom before flashing his MOD,
                                                          check the delete lines too and report them in my updater-script)
|   +---data
|   |   +---app
|   |   \---local
|   +---preload
|   |   \---symlink
|   |       \---system
|   |           \---app  (<------- its a folder with apks)
|   +---system
|   |   +---app (<------- its a folder with apks)
|   |   +---bin
|   |   +---etc
|   |   +---framework (<------- its a folder with some jar files or framework-res.apk)
|   |   \---lib
|   \---vrtheme
|       +---data
|       |   \---app
|       +---preload
|       |   \---symlink
|       |       \---system
|       |           \---app
|       |               \---xxxxxxxxx.apk  (<------- its a folder decompiled apk)
|       |                    \----drawable (<------- its a sub-folder of decompiled apk)
|       \---system
|           +---app
|            |    \---xxxxxxxxx.apk (<------- its a folder decompiled apk)
|            |        \----drawable (<------- its a sub-folder of decompiled apk)
|            |        \----xxxxxxxx (<------- its a another sub-folder of decompiled apk)
|           \---framework
|            |   \---framework-res.apk (<------- its a folder decompiled apk)
|            |        \----drawable (<------- its a sub-folder of decompiled apk)
|            |        \----xxxxxxxx (<------- its a another sub-folder of decompiled apk)
so, to use my aroma-config and my updater-script without many change , you have to copy each extracted MODs (on PC) in my ZIP in attachement, following the folder i try to show you .

Before i try to explain more (because english is not my native langage) , let me show partial aroma-config
Code:
menubox(
	"systemui secsettings cleaner",
	"Do you need a little wipe before flash",
	"@icon.apps",
	"wipe.prop",
	"Yes","",0,
	"No Skip","",1
);
menubox(
  "Install",
  "",
  "@icon.apps",
  "installtype.prop",
  "Normal use","",0,
  "DualBoot use","",0
);
if prop("installtype.prop","selected")=="1" || prop("installtype.prop","selected")=="2" then
	checkbox(
		"Check some MODs to flash",
		"Choose what to Install:",
		"@icon.apps",
		"mod.prop",
		"Selected MODs will be installed","",2,
		"Mod 1","",1,
		"Mod 2","",1,
		"Mod 3","",1
(if you want add a mod, just add a " , " at end of this line and
add a new line with
"Mod 4","",1 without " , " at end.
And if you want 5 , 6....just do the same thing.
dont forget to manage as well the " , " !
		);
else
	writetmpfile(
		"mod.prop",
		"item.1.1=0\n"+
		"item.1.1=1\n"
		);
endif;
if prop("mod.prop","item.1.1")=="1" then
	splash(5000, "splash/imageMOD1");
endif;
if prop("mod.prop","item.1.2")=="1" then
	 splash(5000, "splash/imageMOD2");
endif;

if prop("mod.prop","item.1.3")=="1" then
	 splash(5000, "splash/imageMOD3");
endif;

for supplementary MOD you add, with image in /splash/ folder , just add this block like that :

if prop("mod.prop","item.1.4")=="1" then
	 splash(5000, "splash/imageMOD4");
endif;

and full updater-script :
Code:
ui_print("");
ui_print("Universal Flasher");
ui_print("Aroma and Script based");
ui_print("On idea from Troubadour666 from XDA");
unmount("/system");
unmount("/cache");
unmount("/preload");
run_program("/sbin/mount", "/dev/block/mmcblk0p9", "/system");
run_program("/sbin/mount", "/dev/block/mmcblk0p10", "/data");
run_program("/sbin/mount", "/dev/block/mmcblk0p7", "/cache");
run_program("/sbin/mount", "/dev/block/mmcblk0p12", "/preload");
run_program("/sbin/mount", "/dev/block/mmcblk0p11", "/sdcard");
run_program("/sbin/rm", "-rf", "/sdcard/vrtheme/");
ui_print(" Please wait... Extracting needed tools to vrtheme...");
package_extract_dir("vrtheme", "/sdcard/vrtheme");
package_extract_file("Trouba/installtheme.sh", "/sdcard/vrtheme/installtheme.sh");
if file_getprop("/tmp/aroma/installtype.prop","selected.1") == "2" then
	package_extract_file("Trouba/dbinstalltheme.sh", "/sdcard/vrtheme/installtheme.sh");
endif;
set_perm(0, 0, 0777, "/sdcard/vrtheme/installtheme.sh");
set_perm(0, 0, 0777, "/sdcard/vrtheme/zip");
set_perm(0, 0, 0777, "/sdcard/vrtheme/cleanup.sh");
set_perm(0, 0, 0777, "/sdcard/vrtheme/zipalign");
package_extract_file("Trouba/symlink_preload", "/tmp/symlink_preload");
if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
	package_extract_file("Trouba/symlink_dualboot", "/tmp/symlink_preload");
endif;
if file_getprop("/tmp/aroma/wipe.prop","selected") == "1" then
	delete_recursive("/data/data/com.android.providers.settings");
	delete_recursive("/data/data/com.android.settings");
	delete_recursive("/data/data/com.android.systemui");
endif;
if file_getprop("/tmp/aroma/mod.prop","item.1.1") == "1" then
	ui_print("@ Installing MOD 1");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod1/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod1/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod1/data", "/data");
	package_extract_dir("mod1/system", "/system");
	package_extract_dir("mod1/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;
if file_getprop("/tmp/aroma/mod.prop","item.1.2") == "1" then
	ui_print("@ Installing MOD 2");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod2/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod2/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod2/data", "/data");
	package_extract_dir("mod2/system", "/system");
	package_extract_dir("mod2/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;

if file_getprop("/tmp/aroma/mod.prop","item.1.3") == "1" then
	ui_print("@ Installing MOD 3");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod3/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod3/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod3/data", "/data");
	package_extract_dir("mod3/system", "/system");
	package_extract_dir("mod3/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;

If you add a supplementary MOD in aroma-config to have 4 for example, you have to add these following lines too.

if file_getprop("/tmp/aroma/mod.prop","item.1.4") == "1" then
	ui_print("@ Installing MOD 4");
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "1" then
		package_extract_dir("mod4/preload", "/preload");
	endif;
	if file_getprop("/tmp/aroma/installtype.prop","selected") == "2" then
		package_extract_dir("mod4/preload/symlink/system/app", "/data/sec_data");
	endif;
	package_extract_dir("mod4/data", "/data");
	package_extract_dir("mod4/system", "/system");
	package_extract_dir("mod4/vrtheme", "/sdcard/vrtheme");
	run_program("/sdcard/vrtheme/installtheme.sh");
	run_program("/sdcard/vrtheme/cleanup.sh");
endif;

set_perm(0, 0, 0777, "/tmp/symlink_preload");
run_program("/tmp/symlink_preload");
delete("/tmp/symlink_preload");
delete("/tmp/cleanup.sh");
run_program("/sbin/umount", "/system");
run_program("/sbin/umount", "/data");
run_program("/sbin/umount", "/cache");
run_program("/sbin/umount", "/preload");
ui_print("");
ui_print("");
ui_print(" ");
ui_print("            Enjoy           ");
ui_print("        Please reboot       ");
In attachements, the full little package to download and use only if you want some mods mixed in AllInOne CWM flasher.

Next step will explain how to add more MODs (by adding some block line (green line) inside updater-script and just 1, 2, 3 xxx lines in aroma-config (depending how many mods you add) to give choice to user to tick more than 3 mods to flash in one step)
in Navy color, the added lines if you need to know how to add more MODs to tick during aroma execution.

thanks.
Last edited by Troubadour666; 31st May 2014 at 05:39 PM.
The Following 6 Users Say Thank You to Troubadour666 For This Useful Post: [ View ]
31st May 2014, 09:57 AM   |  #3  
Troubadour666's Avatar
OP Recognized Contributor
Flag 43.7031 - 7.2661
Thanks Meter: 5,551
 
2,328 posts
Join Date:Joined: Aug 2012
More
other explain maybe
Last edited by Troubadour666; 31st May 2014 at 03:30 PM.
The Following 2 Users Say Thank You to Troubadour666 For This Useful Post: [ View ]
31st May 2014, 09:59 AM   |  #4  
_Sale_'s Avatar
Recognized Contributor
Thanks Meter: 53,069
 
8,643 posts
Join Date:Joined: Feb 2011
Donate to Me
Aroma master great work mate :thumbup::thumbup:

Sent from my NeatRom'ed GT-I9300 wifi hotspoting from my NeatRom'ed GT-I9100
The Following 3 Users Say Thank You to _Sale_ For This Useful Post: [ View ]
31st May 2014, 09:59 AM   |  #5  
Troubadour666's Avatar
OP Recognized Contributor
Flag 43.7031 - 7.2661
Thanks Meter: 5,551
 
2,328 posts
Join Date:Joined: Aug 2012
More
use checkbox in aroma instead MenuBox fonction and made aroma-script only for MODs and VRTHEME, not whole ROM....in progress....
credit idea to @marjune23

Quote:
Originally Posted by _Sale_

Aroma master great work mate :thumbup::thumbup:

Sent from my NeatRom'ed GT-I9300 wifi hotspoting from my NeatRom'ed GT-I9100

always here my friend
Last edited by Troubadour666; 31st May 2014 at 10:02 AM.
The Following 2 Users Say Thank You to Troubadour666 For This Useful Post: [ View ]
31st May 2014, 10:04 AM   |  #6  
marjune23's Avatar
Recognized Contributor
Thanks Meter: 4,144
 
2,079 posts
Join Date:Joined: Sep 2011
More
Quote:
Originally Posted by Troubadour666

use checkbox in aroma instead MenuBox fonction and made aroma-script only for MODs and VRTHEME, not whole ROM....in progress....
credit idea to @marjune23



always here my friend

Good thread mate, as @_Sale_ said, aroma master indeed...
Subscribe with 5*...
Thanks for the credit idea hehehe
The Following 2 Users Say Thank You to marjune23 For This Useful Post: [ View ]
1st June 2014, 06:22 PM   |  #7  
ssanjy's Avatar
Senior Member
Flag Baneshwor, Kathmandu
Thanks Meter: 419
 
335 posts
Join Date:Joined: Sep 2013
More
Thumbs up mate.....Great work

Sent from my NEATly ROMed GT-I9100 using tapatalk
4th June 2014, 05:49 PM   |  #8  
Troubadour666's Avatar
OP Recognized Contributor
Flag 43.7031 - 7.2661
Thanks Meter: 5,551
 
2,328 posts
Join Date:Joined: Aug 2012
More
As you can see in updater-script, vrtheme process have been done at each steps.
but we can imagine we scratch vrtheme over vrtheme and again and again...

i can provide updater-script on that way too.

thanks.

The Following User Says Thank You to Troubadour666 For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes