First of all, this post is not about building an Angstrom distribution (Linux OS that is known to run well on embedded devices) from scratch. This about compiling a Linux kernel source which you can boot from using your Angstrom distro. I'm assuming that you already have a working Angstrom MMC with you. I used the one that came along with the BeagleBoard XM, pre-installed with Angstrom.
Before getting started, a few words regarding how the MicroSD card is structured. It has two partitions on it. A FAT partition and an ext partition. The FAT partition contains 4 files namely MLO, u-boot.bin, uEnv.txt and UIMAGE. The ext partition contains the root directory of the distribution. That means it contains '/'.
The BeagleBoard boots from the Linux kernel within the /boot/ directory of the ext partition. That directory will contain a symbolic link called uImage which we will point to the kernel image we want the BB-XM to boot to.