Boot Loader: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
(New page: == BootLoader == The [http://en.wikipedia.org/wiki/Bootloader bootstrap loader or boot loader] is a small program running on a computer or device after power-on to load the operating syst...)
 
(Expand a bit, mention OCD and U-Boot, correct self-boot image claim.)
Line 1: Line 1:
== BootLoader ==
== BootLoader ==


The [http://en.wikipedia.org/wiki/Bootloader bootstrap loader or boot loader] is a small program running on a computer or device after power-on to load the operating system. Most boot loaders today provide additional features that allow to upgrade the firmware and access the system for troubleshooting. Although Xtensa kernel can be compiled with a reset vector included in the kernel image, thus omitting a boot loader, this option is usually not used.
The [http://en.wikipedia.org/wiki/Bootloader bootstrap loader or boot loader] is a small program running on a computer or device after power-on to load the operating system. Most boot loaders today provide additional features that allow to upgrade the firmware and access the system for troubleshooting.


== Elf-Image ==
== RedBoot ==
 
Tensilica has done a port of [http://sourceware.org/redboot/ RedBoot] for the Xtensa architecture. A RedBoot binary targeting the XTAV60 (LX60) or XTAV200 (LX200) emulation board is usually provided after generating an FPGA bitstream for one of these boards.  See the relevant board documentation from Tensilica for more details such as usage and supported features.  For more information and to request sources, please contact [http://www.tensilica.com/ Tensilica] directly.
 
== U-Boot ==


The kernel build scripts always create a bootable ELF-image for Xtensa. It includes a Reset handler and can directly be downloaded to the target.
[[http://www.denx.de/wiki/UBoot U-Boot] is another popular boot loader. A port to the Xtensa architecture is being investigated.


== RedBoot ==
== Host-Side Loading via OCD ==
 
An alternative to boot loaders is an external (e.g. ''"host-side"'') loading mechanism.
 
One common way to load a Linux kernel is to use debugging interfaces such as On-Chip Debug (OCD).  For example, Tensilica Tools GDB (xt-gdb) can connect to a target Xtensa processor using OCD via the Xtensa OCD Daemon.  It can then load and execute a Linux RAM image (Image.elf or vmlinux) onto the target using standard GDB commands.  See [[Buildroot_Build_Instructions#Download_and_run_the_kernel|Download and Run the Kernel]] for an example.
 
== Linux Kernel Self-Boot Image ==


Tensilica has done a port of RedBoot for the Xtensa architecture. For more information and to request sources, please, contact [http://www.tensilcia.com/ Tensilica] directly.
It is possible to adapt the kernel build scripts for the Xtensa architecture to create a self-booting image. That is, a Linux kernel image that includes a Reset handler and can be either burned in ROM or Flash or downloaded to the target using another mechanism such as OCD.  '''''Note: This has not yet been implemented.'''''

Revision as of 01:35, 15 January 2008

BootLoader

The bootstrap loader or boot loader is a small program running on a computer or device after power-on to load the operating system. Most boot loaders today provide additional features that allow to upgrade the firmware and access the system for troubleshooting.

RedBoot

Tensilica has done a port of RedBoot for the Xtensa architecture. A RedBoot binary targeting the XTAV60 (LX60) or XTAV200 (LX200) emulation board is usually provided after generating an FPGA bitstream for one of these boards. See the relevant board documentation from Tensilica for more details such as usage and supported features. For more information and to request sources, please contact Tensilica directly.

U-Boot

[U-Boot is another popular boot loader. A port to the Xtensa architecture is being investigated.

Host-Side Loading via OCD

An alternative to boot loaders is an external (e.g. "host-side") loading mechanism.

One common way to load a Linux kernel is to use debugging interfaces such as On-Chip Debug (OCD). For example, Tensilica Tools GDB (xt-gdb) can connect to a target Xtensa processor using OCD via the Xtensa OCD Daemon. It can then load and execute a Linux RAM image (Image.elf or vmlinux) onto the target using standard GDB commands. See Download and Run the Kernel for an example.

Linux Kernel Self-Boot Image

It is possible to adapt the kernel build scripts for the Xtensa architecture to create a self-booting image. That is, a Linux kernel image that includes a Reset handler and can be either burned in ROM or Flash or downloaded to the target using another mechanism such as OCD. Note: This has not yet been implemented.