summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2011-03-09 21:33:49 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2011-03-10 12:09:08 +0100
commita0d0b0102e7e262ad545a92e4ace74ed1f3e01c2 (patch)
tree42799aaeb554b6c1167459408279bf2c7e1a2647
parentaeb10121af5acfad18e2cb45b51b756dee00d76d (diff)
downloadptxdist-a0d0b0102e7e262ad545a92e4ace74ed1f3e01c2.tar.gz
ptxdist-a0d0b0102e7e262ad545a92e4ace74ed1f3e01c2.tar.xz
barebox: add options to extend the builtin environment
also install the resulting environment to $(IMAGEDIR)/ Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--platforms/barebox.in10
-rw-r--r--rules/barebox.make11
2 files changed, 21 insertions, 0 deletions
diff --git a/platforms/barebox.in b/platforms/barebox.in
index 0d6846601..0a2a9d94d 100644
--- a/platforms/barebox.in
+++ b/platforms/barebox.in
@@ -36,4 +36,14 @@ config BAREBOX_ARCH_STRING
default "blackfin" if ARCH_BLACKFIN
default "ppc" if ARCH_PPC
+config BAREBOX_EXTRA_ENV
+ prompt "extend the builtin barebox environment"
+ bool
+
+config BAREBOX_EXTRA_ENV_PATH
+ prompt "env dir"
+ string
+ default "${PTXDIST_PLATFORMCONFIGDIR}/barebox-defaultenv"
+ depends on BAREBOX_EXTRA_ENV
+
endif
diff --git a/rules/barebox.make b/rules/barebox.make
index afebb219f..b33a197d5 100644
--- a/rules/barebox.make
+++ b/rules/barebox.make
@@ -68,6 +68,16 @@ $(STATEDIR)/barebox.prepare: $(BAREBOX_CONFIG)
@echo "Using barebox config file: $(BAREBOX_CONFIG)"
@install -m 644 $(BAREBOX_CONFIG) $(BAREBOX_DIR)/.config
+ifdef PTXCONF_BAREBOX_EXTRA_ENV
+ @rm -rf $(BAREBOX_DIR)/.ptxdist-defaultenv
+ @ptxd_source_kconfig "${PTXDIST_PTXCONFIG}" && \
+ ptxd_source_kconfig "${PTXDIST_PLATFORMCONFIG}" && \
+ ptxd_filter_dir "$(PTXCONF_BAREBOX_EXTRA_ENV_PATH)" \
+ $(BAREBOX_DIR)/.ptxdist-defaultenv
+ @sed -i -e "s,^\(CONFIG_DEFAULT_ENVIRONMENT_PATH=.*\)\"$$,\1 .ptxdist-defaultenv\"," \
+ $(BAREBOX_DIR)/.config
+endif
+
@$(call ptx/oldconfig, BAREBOX)
@$(call touch)
@@ -97,6 +107,7 @@ $(STATEDIR)/barebox.install:
$(STATEDIR)/barebox.targetinstall:
@$(call targetinfo)
@install -D -m644 $(BAREBOX_DIR)/barebox.bin $(IMAGEDIR)/barebox-image
+ @install -D -m644 $(BAREBOX_DIR)/barebox_default_env $(IMAGEDIR)/barebox-default-environment
@$(call touch)
# ----------------------------------------------------------------------------