BootROM
Permanent code written on the Read Only Memory (ROM) of the
Microcontroller, allow the device to Boot(Bootloader’s job) and Initialized all
the peripherals, IOs and some hardware components.
Since it is written on read only memory, this code cannot be
update or change.
It contains the very first code which is executed by the
processor on power-on or reset. à
Bootloader’s job is to find this code
Bootloader
>> BootROM contains the very first code which is
executed by the processor on power-on or reset.
Bootloader is computer program which is responsible for
finding and loading the final OS or a firmware which is supposed to run on the
chip.
One main difference from BootROM is that it's usually in
writable flash and can be replaced or upgraded.
Bootloader main task: load the kernel into RAM from flash
memory.
Specifically, the boot loader was/is responsible for setting
up an ATAG list that describing
the amount of RAM,
a kernel command line,
and other parameters.
One of the most important parameters is the machine type.
With device trees, an entire description of the board is passed, in turn
controlling the board only.
Since there is no standard mechanism for loading the OS (or
first code), we use Bootloader to locate first code. This code can be found in
flash memory, hard drives etc.
Bootloader is no longer present after it loads the OS.
Bootstrap loader
Bootloader: After power on , the Bootloader is controlling
the board and does not rely on the linux kernel on any way.
Bootstrap loader: performs checksum verification of
the linux kernel and also does the decompression and relocation of the kernel
to the system memory.
The bootstrap loader acts as a glue between the Bootloader
and the linux kernel.
No comments:
Post a Comment