[Nexus 7 Android Development] fattire:
11-5-13 -- See here for the start of the CM 11.0 (based on Android 4.4 KitKat) discussion.

7-27-13 --- See here for my build instructions for CyanogenMod 10.2 (based on AOSP 4.3)...

Hey all,

So I've ported my "Build CyanogenMod" instructions (Nook Color, Nook Tablet, and HP Touchpad) to the Nexus 7.

The doc basically covers unlocking the N7, getting the build environment ready, downloading source, building, installing, and updating the source. The walkthrough is for Linux, but you should be able to do it via a virtual machine running on OS X and Windows such as Virtualbox (free).

The idea is that building Android from scratch should be possible for almost anyone to learn. So this guide walks you through it.

If you're running into difficulties, this thread is a place to exchange info, tips, questions, etc.

It's also a good place to proclaim loud and clear to the world...

"I'm running an OS I built myself from source!"

Thanks to eyeballer for reviewing.

Off the top of my head...

You never, ever have to wait for a nightly

You can add or remove as-yet uncommitted features with ease.

You learn how Android works under the hood

You learn how to use Linux

You'll learn how to use git

You may, even accidentally, pick up a little C, Java, C++, and learn about the build system.

You can personalize Android-- make your own tweaks, replace kernels, modules, graphics, add or remove projects, overclock, underclock etc. In other words, you have control over every aspect of your device's functionality. Your build is custom to you.

You can audit the code for potential security issues such as back doors or trojans (as opposed to just trusting a random person who posts a build). Since CM10 source is open, you can examine every commit, and there are many eyes looking at the code. (does not apply to proprietary blobs, but these are pulled from your device, so you have and are using them already)

You can contribute features/fixes back upstream

You can start ports to other as-yet-unsupported devices (start by copying folders from similar devices to devices/manufacturer/model)

You come to really understand that Android phones and tablets are full-fledged general-purpose computers just like laptops and desktops.

AAAAND....you get huge bragging rights

The extent to which you delve into the above is entirely up to you. The walkthrough is just an introduction to that world. If N7 is anything like the NookColor/NookTablet/TouchPad, some people will build once and never do it again... but others will start to tinker and make changes to their own build and want to share them with others, and soon some will start making contributions back to official CM10 upstream... or port to new devices... and by fixing bugs and all this... everyone benefits.

Plus...

It's fun.

ALSO: Here are some little bits that resulted from this thread:

Dealing with build errors

What's where in the CyanogenMod source folder

A little about make clean and make clobber

Update: A lot of the above info, as well as much more original articles, can now be found on the CyanogenMod wiki. So check there, especially the dev center.

That's it! Happy building!

How to Build CM10.1 Instructions for the Nexus 7 (CM Wiki version)

Addendum for CyanogenMod 10.2