U-boot-novena

From Studio Kousagi Wiki
Jump to: navigation, search

There are several versions of U-Boot available for Novena, and we're working on getting mainline U-Boot support. For now, we have very light patches on top of mainline that allow us to configure DDR3 memory, plus adding debian build support. Our repository is available on Github.

Building - .deb

Building U-Boot is very similar to other packages. To build a particular revision, specify its tag:

   git clone https://github.com/xobs/u-boot-novena
   cd u-boot-novena
   git-buildpackage -us -uc --git-upstream-tag=v2014.10-novena-rc5

Building - development

To build a non-packaged version, check out the code, configure it, and build it:

   git clone https://github.com/xobs/u-boot-novena
   cd u-boot-novena
   make novena_config
   make

Support programs

U-Boot allows for a dual-stage bootloader, where an initial image configures DDR3 memory and then loads and jumps to a bigger bootloader file. The first stage is called SPL (Secondary Program Loader), and lives in the MBR outside of any partition. The second stage is called u-boot.img, and lives on the first partition.

Following the tradition of x86 bootloaders, the Novena version of U-Boot doesn't install itself to the system MBR directly. It will place u-boot.img and u-boot.spl into /boot, but it won't write them out. In order to install the SPL, we ship a simple script called novena-install-spl. This simply does a dd of the file to the specified disk.