How do you build a bootable compact flash card?
I ran into an interesting problem this week. I recently purchased an ALIX3C2 (Embedded 500 Mhz Geode Motherboard w/ USB, Serial, Mini-PCI) board for use on the OpenRemote HA project. It's not my first embedded Linux system but it's the one where I need come up with instructions for those who are not embedded systems folks. When it arrived I found that I only had 16M, 32M and 2G CF cards in my stock. The embedded system image provided was for a 128M CF card. No problem actually, just dd the image (as per the instructions) to the larger 2G CF card. Sure enough the system booted and I was a happy camper except I'm wasting about 1.7G of compact flash and I needed to add 100M of files to that 128M image. I started to do some research and found that there appears to be nothing on how to build an embedded system (from nothing to a full distribution complete). I did find Building Embedded Linux Systems - 2nd edition, Aug 2008. I won't be able to order it until later so I ordered Building Embedded Linux Systems - 1st edition, 2003 for $10 w/S+H. For $10 bucks I'll chance it. I'm sure I'll learn somethign from it specific to kernel 2.6.
In the mean time I'll detail how I grew my compact flash from the 128M to the 1.9G that I had left on the card on my new web page called LORHA (the Linux OpenRemote/Home Automation distribution). I'll also attempt to lock down how to get grub installed on the flash card. How to build a cross environment, how to build the kernel, modules, libraries and executables needed for buil! ding you r own mini-distribution. The closest thing I've found is Linux From Scratch (the Cross Linux from Scratch is more fitting). I'm currently reading their books (they're online) on how to build your own distribution.