R-Pi Boot process

June 4, 2012 — 3 Comments

Just a note to myself to keep useful info.
Bakul Shah in freebsd-arm quotes R-Pi forum, but I failed to find original.

1. Stage 1 boot is in the on-chip ROM. Loads stage2 in the L2 cache!
2. Stage 2 is bootcode.bin. Enables SDRAM and loads stage3
3. Stage 3 is loader.bin. Knows about elf format and load start.elf
4. start.elf loads kernel.img (+ it is the main gpu code).
It reads config.txt, cmdline.txt and bcm2835.dtb
If the dtb file exists, it is loaded at 0×100 & kernel @ 0×8000
Else if disable_commandline_tags is set load kernel @ 0×0
Else if load kernel @ 0×8000 and put ATAGS at 0×100
See Issue 16 in https://github.com/raspberrypi/linux/issues
5. kernel.img, is the *first* thing that runs on the ARM
processor.

And more information on config.txt here

gonzo

Posts

3 responses to R-Pi Boot process

  1. Aleksandr Rybalko June 6, 2012 at 2:24 am

    >> If the dtb file exists, it is loaded at 0×100 & kernel @ 0×8000
    IIRC it load kernel @0×00000000, and override 0×100 location with ATAGS,
    and some location between 0×100 and 0×8000 with .dtb.

  2. I believe this is the forum thread you’re looking for ;)
    http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=6685

Trackbacks and Pingbacks:

  1. Lab 3, R-Pi Booting process - November 16, 2012

    [...] Now time to study the boot process on Raspberry Pi. Good source to study: R-Pi Boot process [...]

Leave a Reply

*

Text formatting is available via select HTML. <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>