Professional Documents
Culture Documents
org/wiki/Das_U-Boot
Das U-Boot
From Wikipedia, the free encyclopedia
Functionality
U-Boot is both a rst-stage and second-stage bootloader. It is loaded by the
system's ROM or BIOS from a supported boot device. These vary by platform;
typical examples include SD cards, SATA, NOR ash (e.g. EEPROMs, using SPI
or IC), and NAND ash. If there are size constraints, U-Boot may be split into
stages: the platform would load a small SPL (Secondary Program Loader), and
the SPL would do initial hardware conguration and load the rest of U-Boot.
[1][2][3] Regardless of whether the SPL is used, U-Boot performs both rst-stage
(e.g., conguring memory controllers and SDRAM) and second-stage booting
(performing multiple steps to load a modern operating system from a variety of
devices that must be congured, presenting a menu for users to interact with
and control the boot process, etc.).
U-Boot runs a command-line interface on a serial port. Using the console, users
can load and boot a kernel, possibly changing parameters from the default.
There are also commands to read device information, read and write ash
memory, download les (kernels, boot images, etc.) from the serial port or
network, manipulate device trees, and work with environment variables (which
can be written to persistent storage, and are used to control U-Boot behavior
such as the default boot command and timeout before auto-booting, as well as
hardware data such as the Ethernet MAC address).
U-Boot has support for USB, so it can use a USB keyboard to operate the
console (in addition to input from the serial port), and it can access and boot
from USB Mass Storage devices such as SD card readers.
Boot sources
(Note: These are boot sources that U-Boot is capable of loading data (i.e. a
kernel) from. U-Boot itself must be booted by the platform, and that must be
done from a device that the platform's ROM or BIOS is capable of booting
from, which naturally depends on the platform.)
Onboard storage
SD card
SATA
NAND ash
USB
Serial port (le transfer)
Kermit
S-Record
YMODEM
Network boot (optionally using DHCP, BOOTP, or RARP)
TFTP
NFS (Note: This is true NFS boot (U-Boot itself uses NFS to load the
kernel), as opposed to loading a kernel from the network using TFTP
and specifying that the kernel should use an NFS mount as its root
lesystem)
Compatible le systems
Squashfs (Cramfs)
ext2
ext3
ext4
FAT
FDOS
JFFS2
ReiserFS
UBIFS
ZFS
Device tree
Device tree is a data structure for describing hardware layout. Using Device
tree, a vendor might be able to use an unmodied mainline 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 specic forks (of U-Boot and Linux) exist. The
ability to run mainline software practically gives customers indemnity against
lack of vendor updates.
History
The project's origin is a 8xx PowerPC
bootloader called 8xxROM written by Magnus
Damm.[4] 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.[4]
Version 0.4.1 of PPCBoot was rst publicly
released July 19, 2000.
The current name Das U-Boot adds a German denite article, to create a
Usages
The ARM-based Chromebooks ship with U-Boot. The Celeron- and
i5-based Chromebooks use it as payload for coreboot.[8]
The PowerPC based series of AmigaOne computers running AmigaOS use
U-Boot, in particular the Sam440ep and Sam460ex by ACube Systems Srl,
and the upcoming AmigaOne X5000 by A-Eon, the successor of the
AmigaOne X1000.
Ubiquiti Networks devices uses U-Boot
See also
Comparison of boot loaders
RedBoot
Coreboot
Barebox
References
1. http://xillybus.com/tutorials/u-boot-image-altera-soc
2. https://boundarydevices.com/u-boot-on-i-mx6/
3. https://blackn.uclinux.org/doku.php?id=bootloaders:u-boot:features
4. PPCBoot Homepage: Authors (http://ppcboot.sourceforge.net/#authors)
5. "[PPCBoot-users] Halloween release of PPCBoot: 2.0.0 - the Final Release."
(https://web.archive.org/web/20040127050919/http://www.geocrawler.com
/archives/3/4205/2002/10/0/10043434/), Wolfgang Denk, 31 October 2002
6. "U-Bootdoc History". Retrieved Sep 4, 2011.
External links
Oicial website (http://www.denx.de/wiki/U-Boot/)
Oicial git repository (http://git.denx.de/u-boot.git/)
Barebox (http://www.barebox.org/) (formerly known as U-Boot-V2)
Das U-Boot (https://sourceforge.net/projects/armboot/) on
SourceForge.net