Commit 18b04970 authored by Maxime Ripard's avatar Maxime Ripard Committed by Peter Korsgaard
Browse files

barebox: Allow to build an environment image



[Peter: Tweaked help text]
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 6b340425
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -99,4 +99,23 @@ config BR2_TARGET_BAREBOX_BAREBOXENV
	help
	  Install bareboxenv tool in target.

config BR2_TARGET_BAREBOX_CUSTOM_ENV
	bool "Generate an environment image"
	help
	  Generate a custom environment image. This environment will
	  contain the variables and scripts to be used at boot by
	  barebox.

config BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH
	string "Environment path"
	depends on BR2_TARGET_BAREBOX_CUSTOM_ENV
	help
	  Path to the directory containing the custom barebox
	  environment. Depending on your setup, it will probably be
	  based on either the content of the defaultenv or
	  defaultenv-2 directories in the barebox source code, plus
	  the additions needed. The output will be an image in the
	  barebox devfs format, stored in the images directory, with
	  the same name as the directory name given here.

endif
+14 −0
Original line number Diff line number Diff line
@@ -67,9 +67,22 @@ define BAREBOX_BUILD_BAREBOXENV_CMDS
endef
endif

ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_ENV),y)
BAREBOX_ENV_NAME = $(notdir $(call qstrip, $(BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH)))
define BAREBOX_BUILD_CUSTOM_ENV
	$(@D)/scripts/bareboxenv -s \
		$(call qstrip, $(BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH)) \
		$(@D)/$(BAREBOX_ENV_NAME)
endef
define BAREBOX_INSTALL_CUSTOM_ENV
	cp $(@D)/$(BAREBOX_ENV_NAME) $(BINARIES_DIR)
endef
endif

define BAREBOX_BUILD_CMDS
	$(BAREBOX_BUILD_BAREBOXENV_CMDS)
	$(TARGET_MAKE_ENV) $(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D)
	$(BAREBOX_BUILD_CUSTOM_ENV)
endef

define BAREBOX_INSTALL_IMAGES_CMDS
@@ -78,6 +91,7 @@ define BAREBOX_INSTALL_IMAGES_CMDS
	else \
		cp $(@D)/barebox.bin $(BINARIES_DIR);\
	fi
	$(BAREBOX_INSTALL_CUSTOM_ENV)
endef

ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)