Yet another set of notes on building BeagleBone kernel

This is for building the current “production” 3.8 kernel. I’ll follow-up with building a mainline kernel in a few days. I’m only documenting this here temporarily to see if there really are any gaps in the kernel build documentation that are causing people to stumble. I got a query on #beagle yesterday that I haven’t been able to reproduce and I want to share all my steps here just in case someone can find out where some issue is at.
This was run on an Ubuntu 12.04 machine:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"
$ uname -a
Linux ip-10-228-35-177 3.2.0-54-virtual #82-Ubuntu SMP Tue Sep 10 20:31:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Here are the steps I took.

sudo apt-get install gcc-arm-linux-gnueabihf lzop pastebinit ncurses-dev
git clone git://git.denx.de/u-boot.git
cd u-boot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_config
cp tools/mkimage ~/bin
cd
git clone git://github.com/beagleboard/kernel
cd kernel
git checkout 3.8
./patch.sh
cd kernel
cp ../configs/beaglebone .config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

I added the ALSA SoC drivers as modules to match the users’ supposedly desired configuration.

make -j8 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage dtbs modules
pastebinit .config

The resulting config file is at http://paste.ubuntu.com/7588376/