Skip to main content.

2. Introduction

This document describes how to use the firmware U-Boot and the operating system Linux in Embedded Power Architecture, ARM and MIPS Systems.

There are many steps along the way, and it is nearly impossible to cover them all in depth, but we will try to provide all necessary information to get an embedded system running from scratch. This includes all the tools you will probably need to configure, build and run U-Boot and Linux.

First, we describe how to install the Cross Development Tools Embedded Linux Development Kit which you probably need - at least when you use a standard x86 PC running Linux or a Sun Solaris 2.6 system as build environment.

Then we describe what needs to be done to connect to the serial console port of your target: you will have to configure a terminal emulation program like cu or kermit.

In most cases you will want to load images into your target using ethernet; for this purpose you need TFTP and DHCP / BOOTP servers. A short description of their configuration is given.

A description follows of what needs to be done to configure and build the U-Boot for a specific board, and how to install it and get it working on that board.

The configuration, building and installing of Linux in an embedded configuration is the next step. We use SELF, our Simple Embedded Linux Framework, to demonstrate how to set up both a development system (with the root filesystem mounted over NFS) and an embedded target configuration (running from a ramdisk image based on busybox).

This document does not describe what needs to be done to port U-Boot or Linux to a new hardware platform. Instead, it is silently assumed that your board is already supported by U-Boot and Linux.

The focus of this document is on canyonlands boards.

2.1. Copyright

Copyright (C) 2001 - 2009 by Wolfgang Denk, DENX Software Engineering.
Copyright (C) 2003 - 2009 by Detlev Zundel, DENX Software Engineering.
Copyright (C) 2003 - 2009 by contributing authors

You have the freedom to distribute copies of this document in any format or to create a derivative work of it and distribute it provided that you:

It is requested that corrections and/or comments be forwarded to the author.

If you are considering to create a derived work other than a translation, it is requested that you discuss your plans with the author.

2.2. Disclaimer

Use the information in this document at your own risk. DENX disavows any potential liability for the contents of this document. Use of the concepts, examples, and/or other content of this document is entirely at your own risk. All copyrights are owned by their owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements.

2.3. Availability

The latest version of this document is available in a number of formats:

2.4. Credits

A lot of the information contained in this document was collected from several mailing lists. Thanks to anybody who contributed in one form or another.

2.5. Translations

None yet.

2.6. Feedback

Any comments or suggestions can be mailed to the author: Wolfgang Denk at

2.7. Conventions

Descriptions Appearance
Warnings ALERT!
Hint TIP
Notes Note.
Information requiring special attention Warning
File Names file.extension
Directory Names directory
Commands to be typed a command
Applications Names another application
Prompt of users command under bash shell bash$
Prompt of root users command under bash shell bash#
Prompt of users command under tcsh shell tcsh$
Environment Variables VARIABLE
Emphasized word word
Code Example ls -l
1. Abstract 1. Abstract 3. Embedded Linux Development Kit
Prev Home Next