[Nexus 7 General] phonic:
Ok, so I ran into a VERY weird issue and was wondering if anyone else has experienced this or has a better solution then what I found.

My Nexus7 was running stock JRO03D. I had it rooted, using the Motley kernel with CWM Recovery - but outside of that, everything else was pretty stock. Anyway, I decided to upgrade to the 4.1.2 image. I pulled the one it downloaded automatically out of /cache and looked at the updater-script to see what it did. I noticed it replaced a lot, including the boot image, so I figured it would be better just to let it do everything and revert my custom stuff later. So I replaced the kernel with the stock JRO03D kernel and, using CWM, flashed the upgrade. Everything seemed to go perfect and it completed the upgrade. Prior to rebooting it, I also flashed the "unofficial" motley 4.1.2 kernel posted on XDA. I rebooted the device, and CWM warned me that 'su' needed to be fixed (how nice!) and made it suid again. It rebooted and after android "updated", everything was up and running. I confirmed in settings that it was on 4.1.2 with the custom kernel. SU was suid root as well. Perfect!

Not quite.

I decided to try rebooting into recovery to make sure CWM was still there, or flash it back if it wasn't. I opened up a terminal emulator, removed the new recovery-recovery image in /system, and did "reboot recovery". The Nexus7 rebooted, but rebooted right back into normal operation. Very weird. So I hooked it up to my computer, figuring CWM was gone, and tried to fastboot flash it back. Fastboot said it did, but I still wasn't able to reboot into recovery. I tried three different versions of CWM and even TWRP, but no dice. Every time I tried rebooting into recovery (using terminal emulator, adb shell or bootloader method) it just went right back into the normal boot process.

I spoke to some people on IRC who recommended reflashing the stock image from Google (without wiping user data). I reflashed the bootloader and then did a fastboot update <stock image>, and it said it replaced boot, recovery, system, etc. It rebooted automatically, and I tried going into stock recovery. That still did NOT work. Instead, I got a very sick looking android guy who was lying down with a red triangle with an exclamation point over him. I was a bit worried and upset at this point. I tried reflashing CWM/TWRP again, but nothing. When I did this, I no longer got the unhappy android image, but it just booted up normally.

I decided to try and doing a more thorough wipe, using fastboot to wipe cache/boot/recovery/system manually. Then I reflashed the bootloader and stock image. Still no recovery (stock or custom).

As you can imagine, I was getting even more concerned now. Especially since I was no without root and no way to get it back (since I couldn't get into recovery to flash the zip for it).

I tried every other thing I could think of to flash recovery back, but nothing worked. It wouldn't load at all.

Finally, I was about to do a complete factory reset and wipe/reflash of everything, but one last thought crossed my mind. I found the older (JRO03D) bootloader and flashed that. Reloaded bootloader and selected "Recovery". Voila, I was in TWRP Recovery Mode! (which was the last one I tried installing). I was able to reinstall my SU.zip and get everything back up and running.

SO, long story short, I'm now on 4.1.2, running the newer unofficial motley kernel and have su back. But I'm also stuck on the older 3.34 bootloader. If I try upgrading it back to 3.41, I won't be able to get into recovery.

Has this happened to anyone else? It doesn't seem like it. Is there a HW issue with my device causing this problem? I can't believe it's software related since I tried two different copies of the 3.41 image. Does anyone have any other suggestions on how I can upgrade the bootloader while keeping the ability to get into recovery mode?

Also, while everything *seems* to be working OK using 3.34, do you think it will cause other problems since I'm using 4.1.2?

Thanks.