Building U-Boot (BELK/BXELK)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Bora5-small.jpg Applies to Bora
BORA Xpress.png Applies to BORA Xpress
BORALite-TOP.png Applies to BORA Lite

As the structure of the BELK/BXELK is based on several tools, it is strongly recommended the reading of this document first.

History[edit | edit source]

Version Date BELK/BXELK version Notes


November 2015 3.0.0 / N/A First release


July 2017 4.0.0 / 2.0.0 Updated for BELK 4.0.0 / BXELK 2.0.0
3.0.0 Jan 2020 4.1.0 Updated for BELK/BXELK 4.1.0

Building U-Boot[edit | edit source]

It is assumed that the development environment has been set up properly as described here.

  • start the Linux development server and login into the system
  • assuming that a local repository has not been created, clone the remote U-Boot git repository (the “-b” option is used to automatically checkout the current branch):

git clone -b bora-4.x.x

  • Setup the server environment (please refer to this section)
  • enter the source tree directory and select the desired target by issuing one of the following commands:
    • For BELK <= 3.0.2 and BXELK <= 1.0.1:
      make bora_qspi_config 
      make bora_mmc_config 
      make bora_noflash_config
    • For BELK 4.0.0 and BXELK 2.0.0:
      make bora_qspi_defconfig 
      make bora_mmc_defconfig 
      make bora_noflash_defconfig 
      make borax_qspi_defconfig 
      make borax_mmc_defconfig 
      make borax_noflash_defconfig
    • BELK 4.1.1 or newer more targets have been added for BoraLite booting from NAND and for the application note AN006
      make bora_nand_defconfig 
      make bora_mmc_an006_defconfig
bora_qspi and borax_qspi: U-Boot is built to use NOR flashed based environment. The resulting binary files are used to boot from serial NOR flash.
bora_mmc and borax_mmc: U-Boot environment is placed in SD/MMC card. The resulting binary files are used to boot from SD/MMC card. However, NOR flash and NAND flash are accessible.
bora_noflash and borax_noflash: U-Boot environment is placed in SD/MMC card. The resulting binary files are used to boot from SD/MMC card. NOR flash and NAND flash are disabled.
bora_nand_defconfig: U-Boot environment is placed on NAND flash.
  • build U-Boot by issuing make command. This will generate U-Boot binary images.
    • file extension .elf must be manually added on u-boot if ELF file is required (for example to build boot.bin for uSD)

Subsequent builds just require make command, without targets, to update the binary images.


By default, BoraEVB and BoraXEVB are configured to boot from NOR flash. Consequently, the U-Boot image stored in the NOR flash is built with bora_qspi_defconfig and borax_qspi_defconfig configuration respectively.

In order to download them to the target via TFPT protocol, once the build process is complete the binary images can be copied to the tftp root directory (e.g. /tftpboot/bora/) with the following commands:

  • For BELK 4.0.0 or newer and BXELK 2.0.0 or newer:
cp spl/boot.bin /tftpboot/bora/ 
cp u-boot.img /tftpboot/bora/
  • For BELK <= 3.0.2 and BXELK <= 1.0.1 :
cp u-boot.bin /tftpboot/bora/