This is going to be a long, tedious, boring, hugely rambling bunch of text that most will have already stopped reading.
If you kept going, congratulations, you're on your way to reading the most in depth guide I have ever attempted:
A picture book of Jelly Bean ROMs currently available for the 10" Thrive.
First up, we have...drumroll.....CM10!
Chapter 1: The Background (yes, chapters!)
Android Source, AOSP (Android Open Source Project) is the base that we use the build the ROM. Google creates this source and releases it, and its patches, to the public who can then use the code how they wish. This is a giant leap for mobile OS as previously it was all closed source, meaning only the company had it's source, or manufacturers of devices using this OS, such as Windows, Blackberry, iOS, etc. Android being completely open allows us to use Android on a variety of devices not originally supported, case in point being our Thrives running Jelly Bean. If Android left it to the manufacturers to release the source, we'd never have Jelly Bean. However, we still need more. The source is just the source, it builds the ROM, but it doesn't build it for any given device, for this we need....
Trees! Those wonderful leafy things....wait...wrong one. In this case trees are broken up into 2 different parts, the device tree, and the vendor tree (though some don't consider the vendor tree to be a tree). The device tree tells the source how to interact with the device you're building for, it also tells it to build extra parts, libraries and some drivers to enable the device to use its various hardware, such as GPS, WiFi, BT, the screen, the digitizer, you get the point. If this is incorrect, it will not work properly, if at all, on a device. These trees is what the Unified project was about, building working fully functional CM10 ROMs by building the trees correctly. Lots of trial and error. The Vendor tree contains the proprietary files needed, these are files that source is not released for, and we must use pre existing, pre built files, these include anything nVidia, such as CPU and GPU libraries and drivers. One thing, the ROM may build perfectly fine, but if it's missing one more part, it'll never leave the Toshiba bootloader screen which is...
The Kernel. This mystery is a collection of its own source files, controlled via defconfig. This file tells what to build for the hardware to work. If the kernel doesn't work, nothing else will, period. If the ROM is the brain, the kernel is the nervous system. It directly converts any commands given to work with and interact with the hardware, and the hardware to interact with the user. Anything you do on the screen, touching the WiFi toggle, for example, will then interact with the driver, which then interacts with the kernel, which then interacts with the hardware. Once the hardware listens, for example WiFi turns on, it reports it to the kernel, which reports to the driver, which reports to the screen to show the toggle as ON. As you can probably tell, a faster kernel = a faster system. A faulty kernel = a faulty system.
CM10 refers to CyanogenMod 10, in this case 10 covers android version 4.1. CM10.1 covers the 4.2 release of android (its confusing but both have Jelly Bean as their name even with some major changes). CyanogenMod is a collection of useful modifications to the Google AOSP Source (you read that section above, right?) and offer things such as:
Status bar icon changes
Toggles to the status bar for quick changes to your system hardware
A theme engine so you don't get bored with the same old icons and colors
Various tweaks and enhancements to various parts of the ROM for stability, fixes, patches and speed
CyanogenMod is of course, not the only modification available for the AOSP source, though many do still base on CM's existing modifications and build upon them with their own. Examples of this are Team Baked's Black Bean, available here, and also Paranoid Android (at the time of the writing they are moving to AOSP instead), also available here.
Chapter 2: The ROMs
This is going to be a multi part after school special of rundowns of each ROM, and its distinct and common features. I'll begin with CM10 as that is most commonly used here, and is the basis for all existing Jelly Bean ROM work anyways.
Part One: CyanogenMod 10
As covered before, CyanogenMod10 (CM10) is a modification of Google's AOSP Android source, and features plenty of additional fun stuff.
The most common version of this build you will see for this device is the Unified Builds, created by a team of 3 +1 wiki operator, Tybar began the project, JBettcher and myself (pio_masaki if you didn't notice) took up arms and began working on getting CM10 built and running on this device. Indest runs our Wiki and created not only a custom gapps package for our device, but a side pack filled with useful apps, voted on by this very community. The team currently has just myself and Indest still active, but development does continue on a much slower basis.
Features you can look forward to, and may already know about, that do not exist in normal AOSP "Vanilla" builds are:
Power menu = the normal power menu is simply a way to turn off the device. This is found by holding power for a second or two (much longer and you may power off the device). CM10 instead adds a few features to this menu, including:
Reset also includes the ability to choose Normal system reboot and Recovery reboot. The normal reboot option will reboot into Android, recovery will reboot into your currently installed recovery, be it TWRP or CWM (or stock, which is extremely unlikely).
Yup, just like it sounds, it takes a screen shot. Hitting this option will take a capture of the screen in about half a second.
It also includes toggles for Airplane Mode, Silent Mode, and Profiles. Configuring what shows up in the Power Menu can be configured at:
Status Bar Toggles = These can be seen by swiping your clock in the Navigation Bar, then tapping it again. It will rise up and show your currently enabled toggles.
These can be configured at:
LED Flashlight (we don't have a flash, non functional)
Mobile Data (we don't have a cell modem, non functional)
2G/3G (we don't have a cell modem, non functional, however is to conserve battery)
Widget Button Order
Widget Button Order is the sub menu to further configure the toggles, to the left is an arrow type icon, pulling this up or down will move this up or down in the toggle list as you see it. It will only allow you to manage currently enabled toggles from the previous menu.
Status Bar = Tweaks and mods to what you see on your navigation bar at all times, like your clock, battery icon, etc.
These options can be configured at:
Show Clock (on/off) disables if unchecked, or enables if checked, the clock)
AM/PM Style (sub menu allows Normal, Small, None, which is default)
Auto Hide (allows the navigation bar to "hide" on full screen applications such as Movies or Games, currently non functional)
Battery Status Style (sub menu, allows various types of icon to be used)
Show Notification Count (allows a number to show how many of a given notification you have, IE 3 unread Gmail notifications will display a small 3 on it)
Wallpaper = Same as choosing wallpaper in your launcher, allows setting of a wallpaper on your desktop.
Font Size = Handy for those with less then perfect vision, or those who have overly perfect vision, you can attempt to adjust font sizes here, range from Small to Huge. Normal is default here.
Hardware Keys = This is I think meant for hardware keys such as phones usually have. Its limited use on tablets as most don't have a home key let alone anything else. It does, however, allow you to force the 3 dot menu key in your navigation bar. If functional, these options allow you to set sub actions for long pressing a given button, such as holding Home could open menu, or launch voice search, etc. Must be checked before any options can be set.
CM File Manager
Now includes the rather nicely working CM File Manager (called File Manager in your app drawer) and starts in a basic "safe" mode, which only browses your internal SD card. It does allow up to a full Root level, which allows Read/Write of all areas of the device including /system. Be careful here. Also includes a text editor, which is quite decent. Allows for more control over permissions then ES File Manger as it can also change Ownership. This is installed in /system/app and requires a root explorer or other root application to remove (uninstall).
Included in CM ROMs for as long as I can recall (CM7 actually) this app allows you to tweak a few things for audio. It allows you to change on a per output level, meaning settings are separate for Speakers, Headphones and Bluetooth. Jacking up the bass in Headphone will not affect the bass in Speakers, etc. Includes presets, EQ for fine tuning, all around decent EQ style application. This is installed in /system/app and requires a root explorer or other root application to remove (uninstall).
Useless for us as we are unofficial, what this should be doing is notifying us of updates for our device. As I build them, this is non functional and can safely be removed. This is installed in /system/app and requires a root explorer or other root application to remove (uninstall).
This concludes (for now) the CM10 ROM coverage.