Introduction

This page describes the boot sequence of rockchip linux

General Boot Sequence (Linux system)

Boot sequence

  1. Soc powers up and initializes.
  2. BootRom code runs in SRAM, loads and verifies bootloader's bootstrap code from storage device.
  3. If the verification passes, run the uboot spl.
  4. The uboot spl initializes DDR RAM, loads the complete uboot into DDR RAM and runs it.
  5. The uboot searches for /extlinux/extlinux.conf and load kernel,dtb on first partition or partition which set bootable flag.
  6. Linux kernel takes control of everything now.

Boot order

On power-on, chip searches for the uboot spl on any bootable media in a fixed order :

  • eMMC
  • SDMMC

the uboot spl searches u-boot in a order :

  • SDMMC
  • eMMC

the uboot searches extlinux.conf and kernel in a order :

  • SDMMC
  • eMMC
  • USB

MaskRom mode

The bootstrapping code (the MASKROM loader) lives in the SoC ROM.

If no bootable medium is found or none contains a valid bootloader, the bootstrapping code initializes the USB in device mode (OTG). In this mode, it is possible to download firmware (second stage bootloader) to the SoC via USB OTG. The actual transfer uses a special RockChip MASKROM bootloader protocol.

Please don't confuse maskrom mode with rkusb mode!