barebox: Allow to build an environment image

[Peter: Tweaked help text]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Maxime Ripard 2013-01-28 10:10:34 +00:00 committed by Peter Korsgaard
parent 6b340425e8
commit 18b04970a2
2 changed files with 33 additions and 0 deletions

View File

@ -99,4 +99,23 @@ config BR2_TARGET_BAREBOX_BAREBOXENV
help help
Install bareboxenv tool in target. 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 endif

View File

@ -67,9 +67,22 @@ define BAREBOX_BUILD_BAREBOXENV_CMDS
endef endef
endif 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 define BAREBOX_BUILD_CMDS
$(BAREBOX_BUILD_BAREBOXENV_CMDS) $(BAREBOX_BUILD_BAREBOXENV_CMDS)
$(TARGET_MAKE_ENV) $(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D) $(TARGET_MAKE_ENV) $(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D)
$(BAREBOX_BUILD_CUSTOM_ENV)
endef endef
define BAREBOX_INSTALL_IMAGES_CMDS define BAREBOX_INSTALL_IMAGES_CMDS
@ -78,6 +91,7 @@ define BAREBOX_INSTALL_IMAGES_CMDS
else \ else \
cp $(@D)/barebox.bin $(BINARIES_DIR);\ cp $(@D)/barebox.bin $(BINARIES_DIR);\
fi fi
$(BAREBOX_INSTALL_CUSTOM_ENV)
endef endef
ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y) ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)