The Free Electrons site has some nice labs for the BeagleBoard. The Kernel Cross-Compiling lab shows how to boot from a initramfs built from BusyBox. BusyBox defaults using /dev/ttyS0, but the Beagle uses /dev/ttyS2.
Here's how to fix it from Maciej Wasiel <Maciej.Wasiel@dialogic.com>.
Hi, Well, I’m quite proud of myself because I figured it out, albeit in a somewhat lucky fashion. In /felabs/sysdev/xkernel/data/rootfs/etc/inittab file, change line 2 to point to ttyS2 instead of ttyS0. Rebuild the kernel and when the boot process appears to get stuck press Enter to activate the console. With the correct serial port you will see a new prompt, highlighted in red below. Init calls inittab to start processes during bootup and busybox ships inittab pointing to ttyS0 for the terminal shell process. I think if you replace askfirst with respawn in the inittab file you can go straight to the console after booting up without the need for user interaction. Hope this helps! Regards, Maciej VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 regulator_init_complete: incomplete constraints, leaving VDVI on regulator_init_complete: incomplete constraints, leaving VDAC on drivers/rtc/hctosys.c: unable to open rtc device (rtc0) Freeing init memory: 836K init started: BusyBox v1.4.1 (2007-04-20 15:26:03 CEST) multi-call binary Starting pid 346, console /dev/ttyS2: '/etc/init.d/rcS' Please press Enter to activate this console. mmc0: new high speed SD card at address 0007 mmcblk0: mmc0:0007 SD02G 1.90 GiB mmcblk0: p1 p2 Starting pid 350, console /dev/ttyS2: '/bin/sh' BusyBox v1.4.1 (2007-04-20 15:26:03 CEST) Built-in shell (ash) Enter 'help' for a list of built-in commands.