[Nexus 7 Q&A, Help & Troubleshooting] GedBlake:
Hi, steliosamos...

Yeah... you pretty much have it right. There are two ways you could go...

1) Flash 4.3 straight off.

2) Flash 4.2.2 and then take the 4.3 OTA update.

Practically, there is no difference regarding the end result... you'll have a Nexus 7 running Jellybean 4.3.

But the second way is safer... the reason why revolves around the bootloader.

Jellybean 4.3 will update the bootloader from v4.18 to v4.23. Theoretically, there should be no difference in how this is accomplished... but updating via fastboot, flashes the bootloader directly to the bootloader partition... which is an inherently risky procedure. And if anything goes wrong (bad USB connection, some glitch with your PC, etc) you have a dead Nexus 7, generally known as a hardbrick... from which there is no known recovery.

However, updating via an OTA update, the bootloader is updated differently.

As I explained previously, an OTA will run a checksum on files in system to ensure everything is present and correct (no modifications and/or absences). The OTA then 'patches' them, meaning it updates them. The last thing the OTA does is it drops a file called BOOTLOADER.RAW into a temporary holding partition called USP/Staging. Upon automatic reboot after the OTA has completed, this new bootloader is then copied to the bootloader partition proper, presumably after running a similar checksum to compare it with the old(current) bootloader... and it inherits the crypto-signed data that the old bootloader holds and is unique to your specific device. This seems to me a safer way of upgrading the bootloader, than fastboot flashing it directly.

You mention in your post, you might use a toolkit. Well, I've never used one - so I'm unable to give advice on their use. And personally, I don't recommend them. With toolkits, you relinquish control on how a factory image is flashed. With fastboot you have complete control (you can 'pick' and 'mix' which elements you want to flash.. eg., boot.img, system.img, etc), and you also have greater transparency.

Now, coming back to your specific case...

Here's what I would do. (The following assumes you're using Windows and have a WiFi only Nexus 7).

Download the factory image for Jellybean 4.2.2 for your device from

here

.

Unzip it accordingly...

Edit the flash-all.bat to remove the line fastboot flash bootloader bootloader-grouper-4.18.img. There's no point in needlessly re-flashing a bootloader that you already have (with the risks that entails).

So, after editing, you should have the following in the flash-all.bat file...

fastboot oem unlock
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata
fastboot reboot-bootloader
ping -n 10 127.0.0.1 >nul
fastboot -w update image-nakasi-jdq39.zip

echo Press any key to exit...
pause >nul
exit

You can of course, just type all of this in manually (with the exception of the ping command, which just pauses everything while the bootloader reboots).

From a fully shut down condition, boot your Nexus 7 into the bootloader (in fastboot mode), by pressing VOL DOWN and hold, whilst holding, press the POWER BUTTON. Open a command prompt window on whichever folder you have downloaded and unzipped the factory image files to.

First type....

fastboot devices

You should expect to see something like this...

015dxz2oxxxxx fastboot

Your device's unique serial ID followed by the word 'fastboot'. This is essentially diagnostic, and confirms you have a working fastboot connection. If you don't see this, you likely have a driver problem which needs to be attended to before you can proceed.

You're now ready to run the flash-all.bat file or manually type in the commands it contains.

----------------------------------------

Another possibility/option that occurs to me (although I've never tried it myself)...

You might able to get away with just fastboot flashing the system.img file (extract it from image-nakasi-jdq39.zip), and flash as follows...

fastboot erase system
fastboot flash system system.img

As I say, I've never tried this, so I've no idea if it will work... but it seems a logically easier way of restoring all your system apps with minimal hassle.

One last point about system.img... in my experience, it can (but not always) be notoriously fussy/difficult (a bloody pain in the ar#*!:' actually) when 'sending'. If this happens, just disconnect the USB lead from your PC, reconnect to another port, and reboot the bootloader and try again. It should take no more than 2 minutes to go across... any longer than 3 minutes and you've probably lost your fastboot connection. Once you see 'Writing system...', you know it's worked. You can check the integrity of your fastboot connection at any time by opening another command prompt window and typing fastboot devices. If you DON'T see a serial number, then the fastboot connection has died.

----------------------------------------

Right... all things being equal... you should now be be running stock JellyBean 4.2.2 and ready to accept the 4.3 OTA update (assuming a WiFi connection)... and which you will get pestered with every time you turn on the device:(.

Accept it... the update should go smoothly (although with tech, one can never be sure until after the event:( - (...and the new bootloader v4.23, safely ensconced in the bootloader partition:)).

The bootloader being still unlocked, it's now a relatively trivial matter to fastboot flash TWRP (or CWM if you prefer), and then root via

Chainfire

.

Good luck.

Rgrds,

Ged.