[Nexus 7 Q&A, Help & Troubleshooting] mateorod:
You have a bunch of questions. I will answer some. And while I whole-heartedly support learning to build you don't need to build to flash roms.

The best advice I can give you is to just start building. You have found a bunch of instructions and links, obviously. Go ahead and begin, and tackle problems as they arise.

Environment

Okay...really the hardest part is setting upi the environment, if you don' t know linux. After downloading and installing Java and the SDK, make sure you add them to your path.

Most guides will have adding the path in the directions. But make sure to check that it works! It will be extremely frustrating, and you won't know what is wrong. Go to a random directory, Documents would be good, and enter java -version and then adb devices. If the computer says it cannot find the commands, then your path is the problem.

Make sure to setup udev. It is easy, Google it.

Building

Branch

You want to build from the tags.

repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r4

For the proprietary blobs, whatever directory you repo sync from (~/android/system or whatever) is the root directory. run the extraction from there.

when the proprietary blobs are extracted, and the source has been downloaded, these are your commands.

. build/envsetup.sh
lunch

Lunch will return a list of devices, Grouper is the Nexus 7, it is number 4. eng and user-debug do have root access, but SU and SuperSU are more than just root, they manage the root access for your apps as well. You can download them from Play or install them as a flashable-zip.

Choose 4 and then

make otapackage

don't worry about the -j# part. Your machine almost definitley cannot handle -j32. It is -j4 by default, that should be fine for your cpu.

If you want to enable faster builds, you can enter

ENABLE_CCACHE=1

before make otapackage, but it will take up a lot of space on your hd. Your subsequent builds will use some thing from your intial build instead of rebuilding them each time (kernel and other things). So even if you repo sync, some changes won't be reflected in your later builds. For instance, if you do not clean your prebuilts and build system, your build date in the build.prop will always stay the same as the first build.

The way you clear the build directory and make new everything is with make clean or make clobber. You can run it before any build, but the build will take much much longer than one that uses prebuilts. Non-clobbered and with ccache enabled are the fastest of all. But subsequent builds are pretty fast even without ccache.

When you want to update your source, you can just go to your root dir and repo sync. It will only update your source, it won't take nearly as long.

Okay, I answered more than I intended. There are a million guides that show you every step in the process.

Don't ask anymore generic worry questions...you're ready. You understand more than most people do before their first build before I even posted. Get started and if you run into problems, search. If you can't find the answer, then come back and ask us.

Good luck. it is easy, and very satisfying.