[G Tablet Android Development] roebeet:
6/5/2011 EDIT : Going to alter this post for two reasons. First, the information inside is pretty old news and stale for most, and not even very relevant for new users. Second, there is STILL confusion between these two branches that needs to be ironed out, imo.

If you are considering modding your new GTAB, I would suggest reading this. It's going to be a long read, but you'd rather not brick your device, right?

Some Terminology Pre-Reqs to Understand

"Soft-brick". The device is not booting up properly anymore, but is potentially fixable by using a tool called "nvflash".

"APX Mode". The is a low-level mode on the GTablet where you can makes repairs and un-brick the device.

"Nvflash". This is the name of the actual tool you use, when you are in APX mode.

"Clockworkmod". This is an alternate recovery tool. It adds a few things that the 1.1-based stock recovery does not have, such as full image backups, wiping user data and SD repartitioning. The 1.2-based stock recovery is a little better, but clockworkmod still has more options than 1.2 standard recovery

"/data partition". This is the area on the device where all your user data and user apps reside. A factory reset will wipe this area.

"/sdcard partition". This is the area on the device where all your content resides. It's also the area that gets mounted on your PC.

"Data wipe" or "User data wipe". This is a factory reset -- all user apps and data will be erased. Content in the device's /sdcard is not touched.

"SD repartition". This is a data wipe and a wipe of /sdcard. So both areas are erased.

"ROM" as defined for use should be considered a BOOT ROM. This is the base program running on your tablet, like an operating system it is the first line of code to load and while not every rom is a full replacement of the viewsonic operating system only one can be loaded at a time. (thanks mERRIL!)

"Kernel" as used here is the tablets details and settings written out so the software knows how to interact with the hardware. This is where things like overclocking can be done, along with changing the way your backlight or wifi utilizes power. (thanks mERRIL for both of these!)

Two Development Branches, and How to Check which version you have

This is the FIRST thing any new Gtablet user should check imo, before you attempt to mod your device. Viewsonic / US Merchants released a new development branch with a new bootloader and kernel (which they later pulled), and older mods do NOT play nice with it. There have been reports that at least a few TigerDirect users have gotten 4349 OOTB.

So, to check which branch you are on if you are on STOCK: Go to Settings -- About Tablet -- Tapu UI Version. If your firmware starts with "1.1", then you are on the 1.1 (old) branch. If your firmware starts with "1.2", then you are on the 1.2 (new) branch. Also an obvious difference between the two is that the 1.2 branch adds a lockscreen to the tablet.

The "Two Cliffs" analogy

Try to think of these two branches as two cliffs. If you are on either side and want to mod your device, the safest way is to use a mod that is built around the branch you are on. Here on XDA Developers site, most of their mods and custom kernels are based on the 1.1 branch (as of this writing). For 1.2 based mods, there are several options but most of them are not posted here on XDA. So you have options regardless of which branch you are on. There is no advantage of using one over the other, except possibly vendor support - 1.1 is still the ROM offered by the vendor, given that their one released 1.2 ROM was pulled.

It is possible to jump from 1.1 to 1.2, and back again. But think of this as a bridge between the two. I have done extensive tests in the last month on this, and it does work MOST of the time if you follow directions. But even when doing everything right , there is still a small chance that you will "fall of the bridge" and into the abyss (soft-brick). And if you attempt to jump between them with clockworkmod, you will fall for sure, 100% of the time. Think of clockworkmod as a "bridge that is out".

The most sturdy bridge, going on my own testing, is the one based on build 1.1-3588 full stock. This makes sense because this is what Viewsonic would want you to be on, before jumping to 1.2. The reverse (1.2-4349 stock, for example) is also fairly sturdy. But again, it is a higher risk than staying within the same branch.

I'm on a 1.2-based stock ROM. What are my modding options?

If you are on the 1.2 branch, there are actually quite a few options right now. The challange for a user is finding them and understanding that you have to be careful if you try to use a 1.1 mod instead (see the "Two Cliffs Analogy", above).

The current 1.2 based options on XDA are:

- Calkulin+Clemsyn 1.5ghz Froyo Combo VERSION 6

- Beasty's 2.2.1 ROM (Adam) + Clemsyn ver 11 1.5ghz kernel

- Clem / roebeet Honeycomb alpha combo (this is a Clem creation and is actually forked from my own HC port)

- Honeycomb Android Illuminate for The Gtablet

The current 1.2 based options NOT hosted on XDA are:

- Century Eyes (Froyo based "EDEN" port)

- Mountain Laurel (Froyo based "TapnTap" port)

- Brilliant Corners (Froyo based "VEGA"/"Viewpad" port)

- Bottle of Smoke (Honeycomb port, currently is a mashup from the Adam and VEGA devs)

Pershoot and Clem both have 1.2 kernels that you can use, as of this writing. Not all of that information is here, some are on other sites.

I'm on a 1.1-based stock ROM. What are my modding options?

On XDA, there are still a number of mod options and customized kernels, at your disposal. Again, a 1.1 to 1.1 mod should be fairly safe to attempt. If you want to jump to 1.2, I would recommend reading the modder's post to see if there are instructions for 1.1 jumpers. If not, the SAFEST way to jump is to flash back to 3588 stock (including stock recovery) and then flash to 4349 using stock recovery - that will get you onto the 1.2 dev branch.

There are still a lot of 1.1-based options, if you want to stick to that path. To name a few:

- VEGAn-TAB (probably the most popular GTAB mod, so far)

- VEGAn-TAB Ginger Edition

- Cyanogenmod 7.x

- G-Harmony

- Calkulin's G-Tab ROM

- TNT Lite (similar to Calkulin's ROM, and currently retired)

- gADAM (currently retired, as well)

There are also a few custom kernels for 1.1, specifically the ones by Pershoot and Clemsyn, here at XDA.

OK, so I've confirmed that I'm on one dev branch but I want to use a mod that's on another dev branch - what do I do?

My suggestions:

1- Read the modder's first post, for possible instructions.

2- If there are no instructions for branch jumpers, DO NOT assume that it's safe to jump. Ask the modder first, to be sure.

I am generalizing here, but the older 1.1 mods might not have instructions for 1.2 users, as you didn't exist at the time the mod was created. Imo, the SAFEST way to jump to a mod that's on another branch is to use stock. So 3588 stock to 4349 stock (using standard recovery) to go up, and 4349 stock to 3588 stock (using standard recovery) to go down. The main reason why it's the safest is because stock has the bootloader image in there, which is required to jump.

I attempted a 1.1 to 1.2 (or vice versa) jump, and now I'm stuck at the birds. Is this a soft-brick?

Yes, it's a soft-brick if you are stuck at the birds. You'll need nvflash the device to fix it. There is information here on XDA on how to do that, or you can find this on other tablet sites.

I attempted a 1.1 to 1.2 (or vice versa) jump, and now I'm stuck at the GTablet screen, or I'm boot looping. Is this a soft-brick?

Probably not - more likely is that you just need to do a data wipe, or a SD repartition if that does not work.

I have a Hannspad (or an Olipad) - does this apply to me?

I believe that it does, going on what I've read. Both these devices seem to be based on the TapUI, and the 1.2 development branch. So attempting a 1.1 GTAB ROM will likely have the same pitfalls. Also keep in mind that even 1.2-based GTAB ROMs have issues. for example, the Hannspad can boot a 1.2-based ROM (like "Bottle of Smoke") but the side keys won't work because the hardware is different. I don't have these devices myself, but I am going on third-party information.