barebox: support auxiliary config build
authorPieter Smith <pieter@boesman.nl>
Sun, 24 Apr 2016 21:15:24 +0000 (23:15 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 1 May 2016 12:33:57 +0000 (14:33 +0200)
commit76165265afdae1cb41f1b7523f06beb23b84d41c
tree74d553c00659c402d399458ba173c0b5ba8a2bae
parent4ce611b9870280a424bf7e30833da9fa70ca6801
barebox: support auxiliary config build

Adds support to build barebox with an auxiliary config.

This is useful for building an SPL (Secondary Program Loader) in
addition to the traditional TPL (Tertiary Program Loader). The
Beaglebone Black for example has two barebox configurations:

- am335x_defconfig builds the full barebox bootloader with device
  tree

- am335x_mlo_defconfig builds the smaller MLO bootloader that loads
  the full barebox bootloader from the eMMC or SD card.

Tested with the following defconfig:

  # architecture
  BR2_arm=y
  BR2_cortex_a8=y
  BR2_ARM_EABIHF=y

  # system
  BR2_TARGET_GENERIC_HOSTNAME="beaglebone"
  BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
  BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y

  # filesystem
  BR2_PACKAGE_AM33X_CM3=y
  BR2_TARGET_ROOTFS_EXT2=y
  BR2_TARGET_ROOTFS_EXT2_4=y

  # bootloader
  BR2_TARGET_BAREBOX=y
  BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="am335x"
  BR2_TARGET_BAREBOX_IMAGE_FILE="images/barebox-am33xx-beaglebone.img"
  BR2_TARGET_BAREBOX_CUSTOM_ENV=y
  BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH="board/beaglebone/barebox/barebox.env"
  BR2_TARGET_BAREBOX_AUX=y
  BR2_TARGET_BAREBOX_AUX_BOARD_DEFCONFIG="am335x_mlo"
  BR2_TARGET_BAREBOX_AUX_IMAGE_FILE="images/barebox-am33xx-beaglebone-mlo.img"

  # kernel
  BR2_LINUX_KERNEL=y
  BR2_LINUX_KERNEL_USE_DEFCONFIG=y
  BR2_LINUX_KERNEL_DEFCONFIG="omap2plus"
  BR2_LINUX_KERNEL_ZIMAGE=y

  # use the barebox built-in dtb
  # BR2_LINUX_KERNEL_DTS_SUPPORT is not set

Signed-off-by: Pieter Smith <pieter@boesman.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/barebox/Config.in
boot/barebox/barebox-aux/Config.in [new file with mode: 0644]
boot/barebox/barebox-aux/barebox-aux.hash [new symlink]
boot/barebox/barebox-aux/barebox-aux.mk [new file with mode: 0644]
boot/barebox/barebox.mk