Difference between revisions of "Bootloader"

From eLinux.org
Jump to: navigation, search
 
(24 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
Briefly, a bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).
 
Briefly, a bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).
  
some example bootloaders are:
+
== List of bootloaders ==
  
X86:
 
* [[Lilo]]
 
* [[Grub]]
 
* [[Syslinux]]
 
* [[U-Boot]]
 
* [http://www.coreboot.org/Welcome_to_coreboot coreboot]
 
  
ARM:
+
{| class="wikitable" border=1 cellspacing=0 cellpadding=4
* [[APEX]]
+
|+ align="bottom" | Legend: '''?''':Unknown '''-''':Not supported
* [[Blob]]
+
! Bootloader  !! ARM !! BFIN !! MIPS !! PPC !! SH !! x86 || remarks
* [[U-Boot]]
+
|-
 +
! [[APEX]]
 +
|                y  ||  -  ||  ?  ||  ?  ||  ?  ||  ?  ||
 +
|-
 +
! [[Barebox|Barebox (U-Boot-v2)]]
 +
|                y  ||  y  ||  y  ||  y  ||  (in progress) ||  y  || allows networked setup, integrated editor and scripting
 +
|-
 +
! [[Blob]]
 +
|                y  ||  -  ||  -  ||  -  ||  -  ||  -  ||
 +
|-
 +
! [http://www.linux-mips.org/wiki/Common_Firmware_Environment CFE]
 +
|                -  ||  -  ||  y  ||  -  ||  -  ||  -  || for specific BroadCom chipsets
 +
|-
 +
! [[coreboot | coreboot (''LinuxBIOS'')]] [http://www.coreboot.org/Welcome_to_coreboot]
 +
|                y  ||  -  ||  -  ||  -  ||  -  ||  y  || Conference talk by Peter Stuge at Embedded Linux Conference Europe 2008, [http://free-electrons.com/pub/video/2008/elce/nluug-fall2008-stuge-coreboot.ogv video]
 +
|-
 +
! [[Kexecboot]]
 +
|                y  ||  -  ||  -  ||  -  ||  -  ||  ?  ||  is a second-stage bootloader, consisting of the Linux kernel and a small gui
 +
|-
 +
! [[U-Boot]]
 +
|                y  ||  y  ||  y  ||  y  ||  y ||  y  || allows networked setup
 +
|-
 +
! [[Grub]]
 +
|                ?  ||  -  ||  ?  ||  y  ||  -  ||  y  ||
 +
|-
 +
! [[Lilo]] 
 +
|                -  ||  -  ||  -  ||  -  ||  - ||  y  || x86 only, requires nasm to build
 +
|-
 +
! [http://www.microcross.com/html/micromonitor.html MicroMonitor]
 +
|                y  ||  y  ||  ?  ||  y  ||  y  ||  ?  ||
 +
|-
 +
! [http://www.linux-mips.org/wiki/PMON_2000 PMON 2000]
 +
|                -  ||  -  ||  y  ||  -  ||  -  ||  -  ||
 +
|-
 +
! [[Qi]]
 +
|                y  ||  -  ||  -  ||  -  ||  - ||  -  || Very fast, simple boot direct to Linux
 +
|-
  
MIPS:
+
! [[RedBoot]]
* [[U-Boot]]
+
|                y  ||  ?  ||  y  ||  y  ||  y ||  y  || allows networked setup
 +
|-
 +
! [[Syslinux]]
 +
|                - ||  -  ||  -  ||  -  ||  -  ||  y  || variants (including) isolinux are very flexible for booting x86
 +
|-
 +
! [http://yaboot.ozlabs.org/ Yaboot]
 +
|                -  ||  -  ||  -  ||  y  ||  -  ||  -  ||
 +
|-
 +
! [http://www.linux-mips.org/wiki/YAMON YAMON]
 +
|                -  ||  -  ||  y  ||  -  ||  -  ||  -  ||
 +
|}
  
PowerPC:
+
A lot more exhaustive list is available at [http://en.wikipedia.org/wiki/Comparison_of_boot_loaders Wikipedia]
* [[U-Boot]]
+
  
[[Bootloader_Security_Resources]]
+
== List of legacy boot loaders ==
 +
Please don't pick any of these for new designs!
 +
 
 +
* rrload (RidgeRun, used for older TI OMAP boards)
 +
* [http://www.linux-mips.org/wiki/PMON pmon] (used for Linux MIPS, including BroadCom wifi router boards like Linksys)
 +
 
 +
== See also ==
 +
 
 +
* [[Bootloader_Security_Resources]]
  
 
[[Category:Bootloaders]]
 
[[Category:Bootloaders]]

Latest revision as of 15:33, 14 September 2012

Briefly, a bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).

List of bootloaders

Legend: ?:Unknown -:Not supported
Bootloader ARM BFIN MIPS PPC SH x86 remarks
APEX y -  ?  ?  ?  ?
Barebox (U-Boot-v2) y y y y (in progress) y allows networked setup, integrated editor and scripting
Blob y - - - - -
CFE - - y - - - for specific BroadCom chipsets
coreboot (LinuxBIOS) [1] y - - - - y Conference talk by Peter Stuge at Embedded Linux Conference Europe 2008, video
Kexecboot y - - - -  ? is a second-stage bootloader, consisting of the Linux kernel and a small gui
U-Boot y y y y y y allows networked setup
Grub  ? -  ? y - y
Lilo - - - - - y x86 only, requires nasm to build
MicroMonitor y y  ? y y  ?
PMON 2000 - - y - - -
Qi y - - - - - Very fast, simple boot direct to Linux
RedBoot y  ? y y y y allows networked setup
Syslinux - - - - - y variants (including) isolinux are very flexible for booting x86
Yaboot - - - y - -
YAMON - - y - - -

A lot more exhaustive list is available at Wikipedia

List of legacy boot loaders

Please don't pick any of these for new designs!

  • rrload (RidgeRun, used for older TI OMAP boards)
  • pmon (used for Linux MIPS, including BroadCom wifi router boards like Linksys)

See also