Debugging Buildroot

It is possible to instrument the steps Buildroot does when building packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain the path of one or more scripts (or other executables), in a space-separated list, you want called before and after each step. The scripts are called in sequence, with three parameters:

  • start or end to denote the start (resp. the end) of a step;

  • the name of the step about to be started, or which just ended;

  • the name of the package.

For example :

make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"

The list of steps is:

  • extract

  • patch

  • configure

  • build

  • install-host, when a host-package is installed in $(HOST_DIR)

  • install-target, when a target-package is installed in $(TARGET_DIR)

  • install-staging, when a target-package is installed in $(STAGING_DIR)

  • install-image, when a target-package installs files in $(BINARIES_DIR)

The script has access to the following variables:

  • BR2_CONFIG: the path to the Buildroot .config file

  • HOST_DIR, STAGING_DIR, TARGET_DIR: see [generic-package-reference]

  • BUILD_DIR: the directory where packages are extracted and built

  • BINARIES_DIR: the place where all binary files (aka images) are stored

  • BASE_DIR: the base output directory