U-boot PVT Notes

From Studio Kousagi Wiki
Jump to: navigation, search

Overview

Novena uses a two-stage U-Boot architecture. The Secondary Program Loader, called SPL, is built using the same build system as the main U-Boot image.

SPL is responsible for setting up DDR3 memory (i.e. calibrating it and measuring trace lengths), loading the main U-Boot image from disk, and jumping to it. The rest is handled by the primary U-Boot image.

To customize U-Boot, modify include/configs/novena.h and change #define messages.

Building

 git clone https://github.com/xobs/u-boot-novena.git
 cd u-boot-novena
 make novena_config   # sets up u-boot for novena configuration
 make -j3

Note: If you edit include/configs/novena.h, you should run "make novena_config" again.

Deploying

To install the primary U-Boot image, copy u-boot.img to /boot/. You do not need to do anything further.

If you're modifying very early code, such as DDR3 setup or booting from SATA, you'll need to install a new SPL file. To install the SPL image, you need to copy the file "SPL" to an offset 1024 bytes from the start of the disk. If you're running on Novena, use "novena-install-spl". See "man novena-install-spl" for more information. Otherwise, use dd:

sudo dd if="SPL" of="/dev/disk/by-path/platform-2198000.usdhc" bs=1024 seek=1 conv=notrunc