[G Tablet General] roebeet:
A few of you have asked for personal tweaks, so I want to explain how TnT Lite 2.x is setup so you can actually customize it to your liking. I'm creating a new thread so this doesn't get lost in the TnT Lite thread.

TnT Lite uses the standard "update.zip" format that a lot of phones use, as well as how VS themselves created their updater. A summary of the folder structure:

/META-INF/com/google/android/updater-script

/system

boot.img

system.img

An explanation of all the parts, and how they function in the upgrade process:

- boot.img. This is the kernel / ramdisk. It's vaniila stock.

- system.img. This is /system, where the sytem apps and framework live. This is stock, believe it or not - it is a completely untouched image.

So, you ask, how can you use a completely vanilla system image in TnT Lite? Well, that's where updater-script and the /system folder come in. The updater-script file is what tells the recovery program what to do. I will explain the parts in greater detail, now:

assert(package_extract_file("boot.img", "/tmp/boot.img"), write_raw_image("/tmp/boot.img", "boot"), delete("/tmp/boot.img"));

Flashes boot.img. Pretty self-explanatory.

assert(package_extract_file("system.img", "/tmp/system.img"), write_yaffs2_image("/tmp/system.img", "system"), delete("/tmp/system.img"));

Flashes system.img. Again, self-explanatory and this is a vanilla image. So, initially, your system has vanilla TnT.

unmount("/system");
mount("MTD", "system", "/system");

This mounts the /system partition. This is in preparation to the system changes.

delete("/system/app/OTAUpdate.apk");
delete("/system/app/HomeScreen.apk");
delete("/system/app/GroceryList.apk");
delete("/system/app/ToDoList.apk");
delete("/system/app/Weather.apk");
delete("/system/app/WelcomeScreen.apk");
delete("/system/app/Clock2.apk");
delete("/system/app/News.apk");
delete("/system/media/bootanimation.zip");
delete("/system/app/EStrongs_FileManagerV1.3.9.10.apk");
delete("/system/bin/busybox");

These are all the file deletes I do. Mainly some system apks like the homescreen, OTA updater and the canned TnT apps we don't need / want. I also delete their busybox version as we replace it, later.

package_extract_dir("system", "/system");

This is where I do my additions. Anything in the /system folder in the updater.zip gets copied. New launcher, the adfree hosts file, build.prop, Gapps all get added at this stage.

symlink("busybox", "/system/xbin/[", "/system/xbin/[[",
"/system/xbin/arp", "/system/xbin/ash", "/system/xbin/awk",
"/system/xbin/basename", "/system/xbin/bbconfig", "/system/xbin/brctl",
"/system/xbin/bunzip2", "/system/xbin/bzcat", "/system/xbin/bzip2",
"/system/xbin/cal", "/system/xbin/cat", "/system/xbin/catv",
"/system/xbin/chgrp", "/system/xbin/chmod", "/system/xbin/chown",
"/system/xbin/chroot", "/system/xbin/cksum", "/system/xbin/clear",
"/system/xbin/cmp", "/system/xbin/cp", "/system/xbin/cpio",
"/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/expr",
"/system/xbin/false", "/system/xbin/fdisk", "/system/xbin/fgrep",
"/system/xbin/find", "/system/xbin/fold", "/system/xbin/free",
"/system/xbin/freeramdisk", "/system/xbin/fuser", "/system/xbin/getopt",
"/system/xbin/grep", "/system/xbin/gunzip", "/system/xbin/gzip",
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id",
"/system/xbin/ifconfig", "/system/xbin/insmod", "/system/xbin/install",
"/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/lsmod", "/system/xbin/lspci", "/system/xbin/lsusb",
"/system/xbin/lzop", "/system/xbin/lzopcat", "/system/xbin/md5sum",
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo",
"/system/xbin/mkfs.ext2", "/system/xbin/mknod", "/system/xbin/mkswap",
"/system/xbin/mktemp", "/system/xbin/modprobe", "/system/xbin/more",
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mv",
"/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/printenv",
"/system/xbin/printf", "/system/xbin/ps", "/system/xbin/pwd",
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath",
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/rm",
"/system/xbin/rmdir", "/system/xbin/rmmod", "/system/xbin/route",
"/system/xbin/run-parts", "/system/xbin/sed", "/system/xbin/seq",
"/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/swapoff", "/system/xbin/swapon", "/system/xbin/sync",
"/system/xbin/sysctl", "/system/xbin/tac", "/system/xbin/tail",
"/system/xbin/tar", "/system/xbin/tee", "/system/xbin/telnet",
"/system/xbin/test", "/system/xbin/tftp", "/system/xbin/time",
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr",
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/tty",
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname",
"/system/xbin/uniq", "/system/xbin/unix2dos", "/system/xbin/unlzop",
"/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/yes",
"/system/xbin/zcat");

These are links for the new busbox. I ripped this right out of CM6.1. :)

set_perm(0, 0, 0644, "/system/build.prop");
set_perm(0, 0, 0644, "/system/etc/hosts");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib");
set_perm_recursive(0, 0, 0755, 0644, "/system/etc/permissions");
set_perm_recursive(0, 0, 0755, 0644, "/system/fonts");
set_perm(0, 0, 06755, "/system/xbin/su");

This fixes the permissions on the file additions I had done earlier.

unmount("/system");

Unmounts the system partition before the reboot.

That's the gist of it. The important part here is that the system.img is clean, so if you want to alter the updater-script or /system folder it's fairly easy to do - just update the /system folder with new apks you might want, or change the updater-script if you want to remove the deletes I do.

As for the supplement, it's just doing the file copies and permissions fixes similar to how it's setup in the main firmware upgrade. But it doesn't do the boot.img / system.img flashing as it's not needed there.