Das U-Boot

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the boot loader. For other uses, see Das Boot (disambiguation).
"Uboot" redirects here. For other uses, see U-boat (disambiguation).
Das U-Boot
Developer(s) DENX Software Engineering
Initial release October 15, 1999 (1999-10-15)
Stable release v2015.07 / July 17, 2015; 6 months ago (2015-07-17)
Development status active
Written in C
Available in English
Type Boot loader
License GNU GPLv2+
Website http://www.denx.de/wiki/U-Boot/

Das U-Boot (Universal Bootloader) is an open source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel. It is available for a number of computer architectures, including 68k, ARM, AVR32, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC and x86.


Compatible file systems[edit]

Device tree[edit]

Main article: Device tree

Device tree is a data structure for describing hardware layout. Using Device tree, a vendor might be able to use an unmodified mainline Das U-Boot on otherwise special purpose hardware. As also adopted by the Linux kernel, Device tree is intended to ameliorate the situation in the embedded industry, where a vast number of product specific forks (of Das U-Boot and Linux) exist. The ability to run mainline software practically gives customers indemnity against lack of vendor updates.


U-Boot on the Openmoko Freerunner
U-Boot on the XPedite5501

The project's origin is a 8xx PowerPC bootloader called 8xxROM written by Magnus Damm.[1] In October 1999 Wolfgang Denk moved the project to SourceForge.net and renamed it to PPCBoot, because SF.net did not allow project names starting with digits.[1] Version 0.4.1 of PPCBoot was first publicly released July 19, 2000.

In 2002 a previous version of the source code was briefly forked into a product called ARMBoot, but was merged back into the PPCBoot project shortly thereafter. On October 31, 2002 PPCBoot−2.0.0 was released. This marked the last release under the PPCBoot name, as it was renamed to reflect its ability to work on other architectures besides the PPC ISA.[2][3]

PPCBoot−2.0.0 became U−Boot−0.1.0 in November 2002, expanded to work on the x86 processor architecture. Additional architecture capabilities were added in the following months: MIPS32 in March 2003, MIPS64 in April, Altera NIOS−32 in October, Coldfire in December, and Microblaze in April 2004. The May 2004 release of U-Boot-1.1.2 worked on the products of 216 board manufacturers across the various architectures.[3]

The current name Das U-Boot adds a German definite article, to create a bilingual pun on the German word for "submarine." It is free software released under the terms of the GNU General Public License. It can be built on an x86 PC for any of its intended architectures using a cross development GNU toolchain, for example crosstool, the Embedded Linux Development Kit (ELDK) or OSELAS.Toolchain.

The importance of Das U-Boot in embedded Linux systems is quite succinctly stated in the book Building Embedded Linux Systems, by Karim Yaghmour, whose text about U-Boot begins, "Though there are quite a few other bootloaders, 'Das U-Boot,' the universal bootloader, is arguably the richest, most flexible, and most actively developed open source bootloader available."[4]


See also[edit]


External links[edit]