Skip to content

Build system combining Crust with other firmware components

License

Notifications You must be signed in to change notification settings

crust-firmware/meta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Crust Firmware Build System

This repository contains a Makefile to build the Crust firmware along with other firmware components into a single flashable image. This build system generates both MMC/SD (u-boot-sunxi-with-spl.bin) and SPI flash (u-boot-sunxi-spi.img) images.

Getting Started

In order to build Crust firmware, the following dependencies must be installed:

After installing the dependencies listed above, Makefile must be updated to include the locations of your cross compilers. If the compilers are accessible from your shell's PATH, leave this section as-is.

# Cross compiler
CROSS_aarch64	 = /path/to/compiler/aarch64-linux-musl-
CROSS_or1k	 = /path/to/compiler/or1k-linux-musl-

Update Makefile with the board you are using, or export the BOARD variable in your shell's environment. All boards supported by Crust are also supported here.

For example, if you are building the Crust firmware image for an Orange Pi Win, Makefile would include the following board selection:

# Board selection
BOARD		?= orangepi_win

Finally, build the image:

make

The images will be located in the build/$BOARD directory by default.

Troubleshooting

If you encounter any issues building the image, please verify that the error message you receive is not one of the following common issues:

  • aarch64-linux-gnu-gcc: Command not found
    • The path to your AArch64 cross compiler is incorrect or the compiler is not accessible from your shell's PATH. Fix the path in the Makefile.
  • Can't find default configuration "arch/../configs/..."!
    • The board you selected is incorrect or is not supported. Try using a board listed in the documentation or copying the configuration from a similar board.
  • or1k-linux-musl-cpp: Command not found
    • The path to your OpenRISC 1000 cross compiler is incorrect or the compiler is not accessible from your shell's PATH. Fix the path in the Makefile.
  • sh: dtc: command not found
    • Device Tree Compiler is not installed.
  • unable to execute 'swig': No such file or directory
    • SWIG is not installed.

You can run make V=1 to have the build system output detailed information about what it is doing. This may provide a more helpful error message.

If the error still persists, please file an issue. Include the full output from make, especially the lines surrounding any error messages. Please also include the configuration section from the top of your Makefile, if you have changed it.

About

Build system combining Crust with other firmware components

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published