The bootloader is a piece of code responsible for ▶ Basic hardware initialization ▶ Loading of an application binary, usually an operating system kernel, from flash storage, from the network, or from another type of non-volatile storage. ▶ Possibly decompression of the application binary ▶ Execution of the application ▶ Besides these basic functions, most bootloaders provide a shell with various commands implementing different operations. ▶ Loading of data from storage or network, memory inspection,hardware diagnostics and testing, etc.

▶ We will focus on the generic part, the main bootloader, offering the most important features. ▶ There are several open-source generic bootloaders. Here are the most popular ones: ▶ U-Boot, the universal bootloader by Denx The most used on ARM, also used on PPC, MIPS, x86, m68k,NIOS, etc. The de-facto standard nowadays. We will study it in detail. ▶ Barebox, a new architecture-neutral bootloader, written as a successor of U-Boot. Better design, better code, active development, but doesn't yet have as much hardware support as U-Boot. ▶ There are also a lot of other open-source or proprietary bootloaders, often architecture-specific ▶ RedBoot, Yaboot, PMON, etc.

results matching ""

    No results matching ""