Fuchsia u-boot

This repo contains a fork of u-boot that has been modified to boot Fuchsia.

Building

This describes the basic build flow for a Linux x86_64 build host. You may be able to get it working with a different host machine, toolchain, build commands, etc but this is a known-working setup.

Prerequisites

You'll need to install the compiler toolchain. Toolchain source is hosted at the links below, refer to the included docs for instructions on how to build. You may also be able to find prebuilt toolchain binaries online.

Once you have the toolchain binaries, place them in an adjacent directory sdk/linaro/, so the resulting tree looks like:

  • <parent_dir>
    • u-boot/
    • sdk/
      • linaro/
        • gcc-arm-none-eabi-6-2017-q2-update/
          • bin/
          • lib/
          • etc.
        • gcc-linaro-7.3.1-2018.05-i686_aarch64-elf/
          • bin/
          • lib/
          • etc.

Compiling

The simplest way to compile u-boot is to run:

BUILD_CONFIG=dev ./mk g12b_newman_bx_zircon --board_name newman-b4 debug

The resulting image will be in the u-boot root directory at u-boot.bin.

This will attempt to do some extra work that doesn't apply here, so you can ignore any errors about other bootloader components (BL2, BL31, BL32) or encryption. As long as the binary was updated, the u-boot build completed successfully.