Jump to: navigation, search

General Info

David Bliss

Computer Science, Rose-Hulman Institute of Technology, Class of 2012

Experienced with multiple Linux distributions, and multiple ways of bulk-moving data.

Topics of Interest:

  • 3D Algorithms
    • Scanning
    • Printing
    • Merging 2.5D images
    • Model manipulation
    • Rendering
  • Randomness
    • Random number generation
    • Evaluating quality of entropy sources
  • FPGAs
    • Configurable Computing




Done; no comments.

Lab 4: Configuring the Kernel

For the BeagleBoard specifically, it can be useful to do the following to establish a working base:

bitbake -c config linux-omap-psp-2.6.32

That command will download, extract, and configure the kernel with default settings.

Lab 5: Kconfig edits

Done, no comments.

Lab 6: Configuring U-Boot

Changed the prompt, and added a MAC Address parameter.

Lab 7: Configuring BusyBox

Done. Seems like BusyBox only lets you configure the obscure stuff, but oh well.

Lab 8: Device Drivers


Lab 9: Development Tools


Lab 10


Lab 11


Lab 12: The Display SubSystem

DONE. There is a significant amount of code in here that is specific to the PS Eye. My Logitech camera didn't work easily.

Lab 13



Stay tuned...

Alternate BeagleBoard build procedure

Those who have been paying attention to the BeagleBoard Google group know I have been having trouble with ECE497_Lab02_Installing_The_Angstrom_Distribution ECE497 Installing Angstrom. I was pointed at a very different set of directions. I document my steps and results here.

Based on the March 2011 version of Building Angstrom and OpenEmbedded's Getting Started page. Please read the Building Angstrom page before reading these instructions, as I will leave out important details that are mentioned there.

The process has four basic steps:

  1. Git
  2. Configure
  3. Bitbake
  4. Install

Random Notes:

  • Consider using ssh and screen, or VNC.
  • If someone has a publicly accessible share with at least 1GB of space available, I would be willing to share my git repo, which would remove the steps Git, Configure, and some of Bitbake.
  • I assume you are at least vaguely comfortable with command-line file management and executing programs in a terminal. Please do not tell me if you are not.


For now, this is straight off the site. This will create a directory setup-scripts, and everything related to OpenEmbedded and Angstrom will be somewhere in there. The Angstrom website notes that 2008.1 has been sent to maintenance, and the original branch it was in will no longer contain it by the end of the month, but the setup script and bitbake seem to take care of detecting this case.


cd setup-scripts

You should find the script here. There seem to be two different ways to proceed, each of which could be completely valid. Review Angstrom's Building Angstrom (see above) for their procedure., when run without arguments, recommends:

./ config beagleboard
./ update
. ~/.oe/environment-2008

The actual procedure I used is a blend of the two:

MACHINE=beagleboard ./ config beagleboard
MACHINE=beagleboard ./ update
. ~/.oe/environment-2008

If you try a different procedure, feel free to use the talk page to let me know your results.

The script uses git to download bitbake and OpenEmbedded. By now, build/conf/local.conf should be generated. You will need to change some of the following lines:

#The script generates this line, and we don't want it.
#INHERIT += "rm_work"
#Probably not necessary; ipk packages are used in embedded linux.
INHERIT  += "package_ipk"
#Probably not necessary; separate line to prevent syntax errors.
INHERIT  += "package_deb"

You may want to tweak the number of parallel processes while you are here.


There are two ways to invoke bitbake:

MACHINE=beagleboard ./ bitbake console-image

Or, if you invoked ~/.oe/environment-2008:

bitbake console-image

I used the former early on, and the latter toward the end. recommends using the latter. Building Angstrom recommends the former. Feel free to state your results on the talk page. This process will take a very long time, and seems to work better during the daytime hours; downloads seem to be running very slowly, and sometimes ran not at all. Feel free to retry again and again until it works.


cd setup-scripts/build/tmp-angstrom_2011_3_maintenance/deploy/glibc/

I found the folders deb, images, ipk, and sources. I have not yet investigated the folders deb and ipk, but I suspect removing the INHERIT flags (see above) removes the folders.

cd images/beagleboard

Examine the contents of this folder. You will need to infer the exact commands slightly; I assume your microSD card has two mounted partitions, one in /media/Angstrom, and one in /media/boot.

The commands I ran are approximately:

pushd /media/Angstrom
sudo rm -r *
sudo tar -xjf .../deploy/glibc/images/beagleboard/Angstrom-console-image-glibc-ipk-2011.03-beagleboard.rootfs.tar.bz2
sudo cp uImage-beagleboard.bin /media/boot/uImage
sudo cp u-boot-beagleboard.bin /media/boot/u-boot.bin
sudo cp MLO-beagleboard /media/boot/MLO

Eject the microSD card, and test it.