Customizing OpenEmbedded

This third post in a series focuses on creating your own “distribution” using OpenEmbedded. The instructions below assume that you have a working build system that can produce binaries that run on the Atmel AT91SAM9263-EK board using NAND flash memory.

Our goal at the end of this post is to have an OE environment that:

  1. builds images for a custom board based on the AT91SAM9263-EK;
  2. adds the patches needed for the custom board to AT91Bootstrap, U-boot, and the Linux kernel; and
  3. creates a custom root filesystem, bundled with programs that you want installed in the default image.

Lots to do, so let’s get started! Continue reading

Flashing the AT91SAM9263-EK Board

In the previous post, we learned how to create an OpenEmbedded (OE) workspace that can successfully build images for the Atmel AT91SAM2963-EK board.  As it turns out, the default in OE is to build dataflash images for the AT91SAM9263-EK board, not nandflash.  If your particular board uses dataflash for its storage, then you’re all set!  But if your board is like mine and uses nandflash, we have a little more work to do first.

This post will focus on tweaking the OE tree to build nandflash images for the AT91SAM9263-EK and then finally uploading those images to the board.  The result (with either dataflash or nandflash) will be to have Angstrom 2008.1 booting on the board. Continue reading

Building an OpenEmbedded workspace

OpenEmbedded is a great tool for building Linux for an embedded system.  Over the next few posts, I hope to capture the step-by-step instructions needed to create a working Linux system for the Atmel AT91SAM9263-EK board.

OpenEmbedded provides a framework that promotes cross compiling in a “emerge”-like manner.  Relying on BitBake (derived from “emerge”, in fact) as its under-the-hood workhorse, OE creates a sandboxed build system that is entirely self-contained.  Entire systems can be created with a single command and, more importantly, without having to understand the complexities of cross compiling!

This first post will focus on creating a working build system.  By the conclusion, you will be able to compile binary images for the target board.  Follow-up posts will show you how to load the binary images onto the target, create your own custom target board, and then roll your own Linux distribution. Continue reading