ausppc
Posts: 18
Joined: Sat Apr 21, 2012 8:51 pm

Initial boot environment / boot-strapping a kernel

Tue Dec 01, 2015 9:48 pm

Are there any guides or other information about the precise series of events for any RPi system from power-on to kernel loaded and ready for further input?

User avatar
rpdom
Posts: 15431
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Initial boot environment / boot-strapping a kernel

Wed Dec 02, 2015 6:47 am

ausppc wrote:Are there any guides or other information about the precise series of events for any RPi system from power-on to kernel loaded and ready for further input?
How precise do you need? That is a bit of a vague question ;)

The basic boot sequence is described in various places and easily findable with a search. However, it runs something like this:

ROM Code (built-in, fixed) -> Look for SD card with FAT12/16/32 partition. Locate bootcode.bin. Load it. That then runs on the GPU.
bootcode.bin -> Look for start.elf. Load it. That runs on the GPU too.
(config.txt is read somewhere around here)
start.elf -> Look for kernel.img or kernel7.img on Pi2 (or other file if configured in config.txt). Load that. Fire up the ARM CPU(s) and let them run it.

JacobL
Posts: 76
Joined: Sun Apr 15, 2012 2:23 pm

Re: Initial boot environment / boot-strapping a kernel

Wed Dec 02, 2015 7:16 pm

Not sure if this is what you need, but most people here just need to know the state when their kernel has loaded. Basically the RPi bootloader is meant to boot a Linux kernel, so the environment would be the one that the Linux kernel requires. This is described here: https://www.kernel.org/doc/Documentation/arm/Booting

fruitoftheloom
Posts: 20934
Joined: Tue Mar 25, 2014 12:40 pm
Location: Delightful Dorset

Re: Initial boot environment / boot-strapping a kernel

Wed Dec 02, 2015 7:56 pm

ausppc wrote:Are there any guides or other information about the precise series of events for any RPi system from power-on to kernel loaded and ready for further input?
http://wiki.beyondlogic.org/index.php?t ... ot_Process
Retired disgracefully.....

Return to “Bare metal, Assembly language”