I’ve been struggling to build CyanogenMod ROM from source for my Nexus One. It’s actually not very difficult once you’ve figured out how to do it. That’s the biggest hurdle: figuring out how to do it, because it is not easy when the various guides on the Internet are often incomplete, inaccurate, or just simply out-dated. So, I’ve decided to put together what I’ve learnt into a how-to guide for the benefit of other like-minded users. Of course, given that Android is evolving so rapidly, as are the various mods, I shan’t be surprised that some day I might also run out of steam keeping my guide up-to-date.
You can find my guide here: Building CyanogenMod 6 from Source
Why would you want to build your own ROM? Well, the reasons are not very different from why people want to build their own Linux kernel, or build an entire distro from scratch (e.g. LFS). Or, so that you could simply sync in the latest source changes and be forever on the bleeding edge of the latest Android ROM.
By the way, if you want the latest CyanogenMod but you’re not skillful enough to build your own ROM, you could just download the automatic nightly builds. But remember, when you are on the nightly builds… they represent work-in-progress, so expect some things will break. There could be bugs that the developers already know and don’t care for them to be reported over and over again.