This page describes the boot sequence of rockchip linux
General Boot Sequence (Linux system)
- Soc powers up and initializes.
- BootRom code runs in SRAM, loads and verifies bootloader's bootstrap code from storage device.
- If the verification passes, run the uboot spl.
- The uboot spl initializes DDR RAM, loads the complete uboot into DDR RAM and runs it.
- The uboot searches for /extlinux/extlinux.conf and load kernel,dtb on first partition or partition which set bootable flag.
- Linux kernel takes control of everything now.
On power-on, chip searches for the uboot spl on any bootable media in a fixed order :
the uboot spl searches u-boot in a order :
the uboot searches extlinux.conf and kernel in a order :
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!