[G2 Q&A, Help & Troubleshooting] Choristav:
Thank you for using the Q&A, as for the several posters above I'm glad they were moved here instead of the development section.

Basically, the process is very simple. AOSP based roms are kept very simple and they mostly just flash /system files as well as a boot.bin (kernel). There are plenty of other files in your phone, like the recovery, bootloader, modem and others. These are NEVER touched by AOSP roms (unless specified).

Sometimes, especially with locked bootloaders and restricted device sources, closed-source updates that come from the manufacturer (in this case, LG), update these very crucial folders/files to make them work with new firmware/software updates. This was the case when LG updated the G2 from Kitkat to Lollipop.

When the official update came into place, they updated the rom (/system), updated the user apps (/data), updated the stock recovery, updated the bootloader to LP and updated a lot of other files/folders including the modem, laf, etc.

All of these are essential to make a ROM work properly and not updating these causes issues (random reboots, no sound, no knock on, no GPS, etc). As there are many variants for this device, it's very difficult to keep track of what keeps breaking what.

For this, devs have released a bootstack (a collection of files and folders which you can see here) for each variant that had an official Lollipop release. It updates the bootloader, modem and all the other partitions.

The bootloader used however, is the KITKAT version, as the lollipop version has no exploit available to have a custom recovery on. Modem is usually LP, although some users report to use KitKat.

So...what's next?

If you're on stock lollipop, you NEED a KITKAT bootloader. Use

autorec v2

from the playstore and then -> flash LP bootstack. This should get you the necessary bootloader and overwrite the already present LP files/modem

If you're on stock kitkat, you already HAVE a KITKAT bootloader. If you're missing root, use

autorec v1

found in the development section and you're missing what could possibly fix the issues mentioned above, stored in the LP files/modem -> flash LP bootstack.

If you're on stock jellybean, you don't have EITHER a KITKAT bootloader or the LP modem/files -> flash LP bootstack

Now here comes the interesting part

If you're on AOSP without CAF sources, you're using a JELLYBEAN bootloader and have no LP modem/files. You need a KITKAT bootloader to flash CAF roms -> flash LP bootstack

If you're on AOSP with CAF sources, you're using a KITKAT bootloader and you might or might not have LP modem/files. Might as well -> flash LP bootstack

If you're still unsure, just read the official instructions (these do the same as the bootstack does, as updating to official lollipop will get you all the lollipop files, and flashing autorec v2 will downgrade the only thing you need, the bootloader, to the KITKAT version)

Also, just in case, I realize cloudy's isn't an AOSP rom, but being a custom stock-based rom on the g2 with a locked bootloader, you can pretty much treat it like one. It does, however, offer the option to update the modem.

When did this become a mess? During the introduction of CAF (qualcomm optimized branch for devices) sources for the G2. The ONLY issue with the LP-bootstack is when you try to flash older roms, that use a loki exploit found in the JELLYBEAN bootloader and patched on the KITKAT bootloader. This might require another bootstack, or not. No one really bothered to check compatibility with older versions and for good reason.