The Beagleboard is an ARM Cortex-A8 development board with USB, DVI-D, S-Video, 2D/3D accelerated graphics, audio, serial, JTAG, and SD/MMC. The xM adds a faster CPU, more RAM, an ethernet port, more USB ports, microSD, and removes the NAND flash. The Beagleboard MACHINE is tested on the following platforms:
Install and Boot Process
Due to the lack of NAND on the xM, the install and boot process varies a bit between boards. The C4 can run the x-loader and u-boot binaries from NAND or the SD, while the xM can only run them from the SD. The following instructions apply to both the C4 and the xM. However, for the C4 you can skip step 2 (as noted below), and you might have to modify the NAND environment.
1. Partition and format an SD card:
# fdisk -lu /dev/mmcblk0
Disk /dev/mmcblk0: 3951 MB, 3951034368 bytes
255 heads, 63 sectors/track, 480 cylinders, total 7716864 sectors
Units = sectors of 1 * 512 = 512 bytes
||Win95 FAT32 (LBA)
# mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1
# mke2fs -j -L "root" /dev/mmcblk0p2
The following assumes the SD card partition 1 and 2 are mounted at /media/boot and /media/root respectively. The files referenced here are made available after the build in build/tmp/deploy/images.
2. Install the Boot Loaders:
This step can be omitted for the C4 as it can have the x-loader and u-boot installed in NAND.
# cp MLO-beagleboard /media/boot/MLO
# cp u-boot-beagleboard.bin /media/boot/u-boot.bin
3. Install the root filesystem:
# tar x -C /media/root -f poky-image-$IMAGE_TYPE-beagleboard.tar.bz2
# tar x -C /media/root -f modules-$KERNEL_VERSION-beagleboard.tgz
4. Install the kernel uImage:
# cp uImage-beagleboard.bin /media/boot/uImage
5. Prepare a u-boot script to simplify the boot process:
The Beagleboard can be made to boot at this point from the u-boot command shell. To automate this process, generate a user.scr script as follows.
- Install uboot-mkimage (from uboot-mkimage on Ubuntu or uboot-tools on Fedora).
- Prepare a script config as follows:
# (cat << EOF
setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
setenv bootargs 'console=tty0 console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro'
) > serial-boot.cmd
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Poky Minimal" -d ./serial-boot.cmd ./boot.scr
# cp boot.scr /media/boot
6. Unmount the SD partitions and boot the Beagleboard:
As of the 2.6.37 linux-yocto kernel recipe, the Beagleboard uses the OMAP_SERIAL device (ttyO2). If you are using an older kernel, such as the 2.6.35 linux-yocto-stable, be sure replace ttyO2 with ttyS2 above. You should also override the machine SERIAL_CONSOLE in your local.conf in order to setup the getty on the serial line:
SERIAL_CONSOLE_beagleboard = "115200 ttyS2"