[Nexus 7 General] jetsaredim:
I know a couple people asked for a guide and I didn't see anything concise had been posted (Mods feel free to remove if it's a duplicate.). Things are still a bit fresh, but this should be a short list of steps to perform the upgrade of your Nexus 7 (2012) WiFi to Lollipop.

As with other guides, I make no expressed or implied warranties - you break it, it's on you.

This is how I was able to get Lollipop working on my own Nexus 7 (2012). I was coming from a rooted factory image of 4.4.4.4 which was the previous most-recent factory image released by Google for this device. I like my device as bone stock as possible and wanted to upgrade and keep it that way.

I assume the following:

You know how to use both adb and fastboot and have already configured your system to use these utilities.

You have already performed an oem unlock on your device.

That out of the way, on to the guide...

It goes without saying, but I'll call it out anyway... Take a backup of your current device setup. Most likely this is within your custom recovery or TiBu. If your not familiar with how to do so, consult the help pages for those apps.

Download & unpack the requisite files

LRX21P factory image from Google.

CF-Auto-Root from Chainfire.

OPTIONAL Only if you're upgrading from a version of Android prior to the JWR66Y Android 4.3 factory image, download the KRT16S factory image from Google.

Start by rebooting your device to the bootloader.

$ adb reboot bootloader

OPTIONAL If you have ignored my assumption and haven't already done so, now would be the time to oem unlock the bootloader

$ fastboot oem unlock

Run the following commands to prep your device to install Android L. NOTE:This will erase your device

$ fastboot erase cache
$ fastboot erase recovery
$ fastboot erase system
$ fastboot erase userdata

OPTIONAL If you are upgrading from a version of Android prior to the 4.23 bootloader release which was originally released along with the Android 4.3 JWR66Y factory image, then you will need to upgrade the bootloader also. The bootloader included in the Android L factory image is not correct and will fail to install. Your best bet is to download the KRT16S factory image from Google and use the bootloader-grouper-4.23.img file from that factory image. Be sure whatever version of the bootloader-grouper-4.23.img file you use has the correct md5sum.

$ md5sum nakasi-krt16s/bootloader-grouper-4.23.img
df53028033c9eccf4fe5ba7bc198ce24 nakasi-krt16s/bootloader-grouper-4.23.img
$ fastboot erase boot
$ fastboot flash bootloader nakasi-krt16s/bootloader-grouper-4.23.img

Now, install the actual Android L system

$ fastboot -w update image-nakasi-lrx21p.zip

Your device will automatically reboot at this point and when it does, you will be running Android L (5.0) 100% stock and WITHOUT ROOT. This boot usually takes a very long time (~5-10 minutes) as it's performing the initial setup of the OS. When the device is back up fully, you will have to go through the setup steps as if it were a new device. Once that's done, proceed to the next step.

Now that Android L is freshly-installed, not only have you lost root, but you've also lost the Developer Options menu and the USB Debugging option contained therein. So, before we proceed, we need to enable Developer options & USB Debugging in the settings menu so that adb & fastboot will work recognize the device. Again, if you have any experience with running adb & fastboot, you will know how to do this. The process is exactly the same as with previous versions, so there should not be any surprises here.

Go to the Settings menu and scroll down to and tap on "About Tablet"

On the next screen tap on the "Build Number" field seven (7) times and you'll be presented with a message of "You're now a Developer!"

Hit the back "triangle" and go into the Developer Options menu and turn on USB Debugging.

Just be sure to accept the key on your device when you connect it to your computer.

Now, we can use adb to reboot the device so we can apply the CF-Auto-Root patches and SuperSU from the bootloader

$ adb reboot bootloader

Once in the bootloader you will need to apply the cf-auto-root. Use the following command.

$ fastboot boot image/CF-Auto-Root-grouper-nakasi-nexus7.img

NOTE: Windows users have reported that the file is in the same directory so just double-check the path to the file.

This will boot the device onto a custom kernel, install the kernel fix to allow root and also install the latest beta version of SuperSU (2.20) for Android L.

You will now end up with a device running Android L with root. I did not mention at any point about installing a custom recovery. These steps will remove a custom recovery, so if you want to install that, you will need to consult the instructions for your custom recovery of choice. I usually use the CM instructions for installing CWM as they're easy to find. This is not strictly necessary for root. Similarly, my main purpose for rooting was to use Titanium Backup. The current production version of TiBu doesn't support Android L, but the TiBu team has released a test version for L via their twitter feed. Here's a direct link or you can go to their twitter feed for more info...

Questions? Comments? Did I miss something? Let me know.

EDIT: Seems that the performance has really gone down over the past few days. Not really sure what the cause of the performance degradation is but it's quite severe. I noticed last night after having left it plugged in all night that the device wouldn't even turn on or took an inordinately long amount of time (many minutes) to wake from sleep. As it stands I attempted to play a game that's slightly intensive and after a short period of time the device got really hot and started really having performance issues to the point where it rebooted on it's own. Further, I noticed a number of things aren't working that probably should... Bluetooth & "Battery Saver" mode are the first two that come to mind.

Anyone else experiencing similar issues?