U-boot extensions in 2009.01-rc1

U-Boot usage and documentation by Ulf Samuelsson.

About U-boot


U-Boot is an open source bootloader ported to a multitude of processors. See (U-Boot Home) for documentation for vanilla U-Boot. This document only describes changes compared to the vanilla u-boot.

Board support for at91rm9200dk


"at91rm9200dk" is updated to use a linux like API for gpio. A new target "at91rm9200dk_df" is defined to support boot from dataflash.

Board support for at91rm9200ek


The "at91rm9200ek" BSP supports booting from a parallel flash. The "at91rm9200df" BSP supports a generic target booting from dataflash.

Board support for at91sam9g20ek


The "at91sam9g20ek" target with dataflash(card) and NAND boot support.

Minicom extensions


"sx-at91" is a reliable X-Modem application allowing download to the at91rm9200 based board

"raw-at91" is a download application which will download binary data using minicom. Typically used to download an environment script.

New command: factory



"factory" will set a selected set of environment variables back to the compile time default. The following will give some hints on capabilities, but is not yet complete.

It will generate a set of scripts which will facilitate downloading the kernel and root file system using tftp and will also add commands to store into and retrieve from flash

New command: os



"os" computes a new name for the linux kernel

New command: fs



"fs" computes a new name for the file system

New command: setargs



"setargs" will create new bootcmd/bootargs combination from kernel name, filesystem name, and rootfs type.

New command: led


led [green | yellow | red | all ] [ on | off ]

"led" will turn on or off the specified (coloured) led

New command: mux


mux [spi | mmc ]

"mux" will select how to use the flash card connector on the at91rm9200dk or at91rm9200ek

New command: ethinit



"ethinit" can be used to delay the boot of linux, until a valid network connection has been established. This is useful if the machine is NFS mounting the root file system and both this machine and the NFS server are powering up simultaneously. The NFS server could take a lot longer to boot, and waiting for this to boot may be neccessary for proper operation.

Special environment variables



rd contains the name of the current root file system It is autmatically generated from ver and rd-1, rd-2 etc. The "fs-date" is added at the end.


You can handle a number of different root fs by defining ver. When running fs rd will be assigned from one of:

    rd-1, rd2, rd-3 ...

By defining ver to a number you will select the appropriate disk name


"date" part of the root file system name


linux contains the name of the current kernel.

It is generated from several environment variables when os is run

A typical name would be "at91sam9263ek-linux-2.6.28-20090105.gz"


"name" part of the kernel file name


"version" part of the kernel file name


"date" part of the kernel file name

fstype [ ram | flash ]

You can have several file system types. bootargs is created depending on fstype..