U-Boot Boot Flow - Under the hood

BabuSubashChandar C

babusubashchandar@zilogic.com

Typical Boot flow

Boot Methods

Parched of Resources

I'm not thirsty

#include <stdio.h>
void main() {
    printf("helloworld");
}

First Things First

Treasure Hunt

Here, map is the Treasure mate!!

Start

arch/<arch>/cpu/soc/start.S ➽ reset.

Runtime setup

arch/arm/lib/crt0.S

Common initialization

common/init/board_init.c

Initializations in Sequence

common/board_f.c

SoC initialization

arch/<arch>/cpu/<soc-family>/<soc>.c

Board initialization

common/board_f.c

arch/<arch>/cpu/<soc>/cpuinfo.c

board/<vendor>/<board>/<board>.c

Driver initialization

drivers/<device>/<device>.c

common/console.c

RAM initialization

arch/<arch>/cpu/<soc>/<soc>.c common/board_f.c

AutoBoot

common/bootm.c

Detailed Calltrace

Detailed Calltrace (contd.)

Detailed Calltrace (contd.)

Questions

References

Follow me

  babuenir

  @babuenir

  babuenir

SpaceForward
Right, Down, Page DownNext slide
Left, Up, Page UpPrevious slide
POpen presenter console
HToggle this help