Beagle Board -

Embedded Systems Conference 2008

Silicon Valley 2009

Build Your Own Embedded System with the Beagle Board

Under Construction -- All presentations and SD contents will be uploaded here, along with instructions on programming the SD cards. This construction message will be removed once all of the content is here

This page summarizes the content presented at ESC 2008 in the Build Your Own Embedded System with the Beagle Board track. This page is still under construction and the content for most of the presentations, including download-able software, should be linked to from here. Please come back soon as this should probably be finished in the next week.

Instructions for booting the MontaVista-built SD card image provided with your boards can be found below.

The summary of courses can be found on the conference schedule. Below is the list of sessions and links to the materials:

Booting the MV Linux SD card

Back to top

As shipped, the Beagle Boards are not configured to boot the kernel and root file system on the SD cards, nor are the SD cards configured with a boot-loader that can be executed by holding the USER button. It is simple to configure the boot-loader loaded onto the Beagle Boards to boot the SD cards provided with the demo image that was generated using MontaVista Linux.

Please note that this is a demo card image that was built using MV Linux for the purpose of this training and does not fully represent what is available from MontaVista in support of the OMAP3530.

  1. Connect to the Beagle Board serial port. Adapters can be found on the hardware page. Basic instructions can be found in the System Reference Manual and also on the Beagle Board beginners page on the wiki.
  2. At the "OMAP3 #" prompt, give the following commands:
    setenv bootcmd 'mmcinit;fatload mmc 0 80200000 uImage;bootm 80200000'
  3. Remove power, have the SD card and other system peripherals connected, apply power and you should get to the "login:" prompt. Be aware that the system will turn off the monitor due to inactivity and there is not a trivial way to disable this time-out. Pressing any key on the USB keyboard will bring the monitor output back on.

If you need to recreate your MV Linux SD card, or you want to use a bootable card, you can make use of the MV Linux SD card image (please request from sales AT You'll need to use zcat or gunzip to decompress the image and dd to copy the image onto a 2GB SD card.

Be very careful when using dd not to overwrite the wrong drive

ESC-100: BeagleBoard 101

Back to top

Jason Kridner and Gerald Coley

This presentation walked through the process of developing with the Beagle Board and interacting with the community. Particular attention was given to the boot process to get the Angstrom and MontaVista demos running.

Angstrom Demo

The following steps should allow you to program the Angstrom demo into the NAND flash on your Beagle Board using a Windows PC with an SD card adapter and without the use of the serial port, a multi-partition SD card, or a Linux PC.

Step 1: Re-format an SD card to be boot-able

Information on formatting the SD cards, putting your board back into factory conditions, and testing the hardware functionality can be found at: BeagleBoardDiagnostics. Specifically, this utility can be used to format the SD cards: SP27213.exe.

It is important that the card be formated with a specific geometry and be marked bootable in the partition table. The HP SD card formatting utility has been shown to be reliable at doing this under Windows. Under Linux fdisk, specific geometries have been shown to work well.

Step 2: Download the Angstrom demo SD card contents

The following content files can be downloaded from this site:

  • MLO - This must be the first file copied to the SD. It is the file loaded by the ROM boot-loader and it loads u-boot.bin off of the SD card.
  • u-boot.bin - Hacked u-boot to read u-boot.img for command script from MMC/SD card first partition (/dev/mmcblk0p1), rather than using the environment in the NAND flash.
  • u-boot.img - U-boot script that configures the environment in the NAND flash to boot from NAND and programs the Linux kernel into the flash.
  • uImage - The kernel to be used to boot the ramdisk.gz and rootfs.tgz root file systems on the Beagle.
  • ramdisk.gz - The RAMDISK console-only root file system that is loaded into RAM by booting from the SD card. It has been modified from the default Angstrom root file system to execute from the first partition on the MMC/SD card (/media/mmcblk0p1).
  • - These commands executed automatically by ramdisk.gz and are used to install the Angstrom demo on to the on-board flash.
  • rootfs.tgz - The root file system copied onto the JFFS2 partition (/media/mtdblock4) on the on-board NAND flash by
  • - This originally contained some commands to "fix-up" the MV Linux SD card, but the "fix-up" doesn't work. Instead, it is recommended you simply configure the environment variables in flash to boot the SD card, rather than try to make the SD card itself bootable. This script has been modified to set the environment variables using the u-boot_fw.tgz executables and should only be run from within the Angstrom kernel as running it from the MV kernel has shown it to corrupt the NAND flash environment variables for some class attendees.
  • ignorenv.txt - This is the patch used to hack u-boot. The link to the source to which this patch applies is included in the presentation.
  • mkubootcmd - This is the script that builds the u-boot script files:
  • u-boot.tgz - The hacked u-boot sources described in the presentation.
  • u-boot_fw.tgz - The files built by Frank during the class to set the environment on the flash (mtd2) from within Angstrom Linux, rather than from the u-boot serial prompt.
  • copyfiles.bat - A DOS batch script file that you can edit to format the SD card and copy the files in the proper order. This script file calls itself again in the end for the purpose of making multiple SD cards.

Step 3: Copy files to the SD card

All of the files should be copied to the SD card in order. At least the MLO file should be copied onto the SD card first, immediately after formatting the card.

Step 4: Install Angstrom demo by booting the SD card

Insert the SD card, hold the USER button, and apply power. You can release the USER button when you see the USR0/USR1 LEDs come on (within a second from applying power). Type "yes" to install the demo and "flash" to configure the board to boot the demo upon startup.

Step 5: Configure for running MV Linux demo

Remove power, wait a few seconds, then apply power again. This time, do not hold the USER button and the SD card is not required to be inserted. You will boot to a GUI where you can login. The password is 'Angstrom'. Bring up a root shell and you can run the following commands to configure the board to boot to the MV Linux demo:

fw_setenv bootcmd 'mmcinit;fatload mmc 0 80200000 uImage;bootm 80200000'

Shutdown and restart with the MV Linux demo SD card inserted and it will boot. You can then install the 3D graphics drivers and utilize other aspects of the demo.

Additional notes

If you have a serial port connection, you can use configure the boot source from the u-boot console. Press when you see the text being output, within the timeout period, to reach the prompt.

From the U-Boot prompt (OMAP3 #) on the serial port, if you have the Angstrom demo installed into the NAND flash, configure the Beagle Board to execute it with the following commands:

setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mtdblock4 rw rootfstype=jffs2 nohz=off'
setenv bootcmd 'nand read 80200000 280000 400000;bootm 80200000'

From the U-Boot prompt (OMAP3 #) on the serial port, to execute either the MV Linux demo or the Sugar demo stored on SD cards, execute the following commands:

setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootwait nohz=off'
setenv bootcmd 'mmcinit;fatload mmc 0 80200000 uImage;bootm 80200000'

During the class, some attendees were running USB networking and VNC to use their laptops as the keyboard, mouse, video, and networking for their Beagle Boards. Scott did a write-up on the Beagle Board mailing list on how to configure USB networking and VNC under Angstrom.

Additional source information to be provided upon request or sooner at this location.

[ESC-261] Constructionist learning with Sugar and the Beagle Board

Back to top

Bernie Innocenti

[ESC-321] Embedded Streaming Media with GStreamer

Back to top

Todd Fischer

[ESC-341] Introduction to creating 3D UI with Beagle Board

Back to top

Diego Dompe

[ESC-401] Hardware lessons from building Beagle

Back to top

Gerald Coley

[ESC-421] Taking advantage of Bluetooth for communications and more

Back to top

Hunyue Yau

Last updated by on Mon Mar 30 2009 06:19:21 GMT-0000 (UTC).