summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-04-29 20:24:22 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-05-18 12:26:52 +0200
commit0e8155229a6e5335cc79a452c4576869636a2b19 (patch)
tree235de43e7e89f5af98f5cbaf169271f7ca31c1ff /common
parentb3377b07f631aceb53cddeb218eff631460a64bf (diff)
downloadbarebox-0e8155229a6e5335cc79a452c4576869636a2b19.tar.gz
barebox-0e8155229a6e5335cc79a452c4576869636a2b19.tar.xz
Add next generation default environment template
This adds a new environment template which aims to be more flexible and configurable. Instead of having mainly two scripts (a config script and a boot script) this template uses initscripts which control the startup behaviour and configuration. Also we have boot scripts in /env/boot which configure a single boot configuration. Additional boot entries can be added by board specific entries or during runtime by copying and editing a template entry. Some more helpers handle for example network interfaces which can now be brought up with 'ifup'. We use the automount feature to configure mountpoints together with the commands to bring up the devices behind these mountpoints. Optionally menu support is available which hides many details behind a nice looking interface. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig19
-rw-r--r--common/Makefile7
2 files changed, 23 insertions, 3 deletions
diff --git a/common/Kconfig b/common/Kconfig
index 9f0e0f86f9..34a6ea70e8 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -495,8 +495,24 @@ endchoice
endif
+config HAVE_DEFAULT_ENVIRONMENT_NEW
+ bool
+
+config DEFAULT_ENVIRONMENT_GENERIC_NEW
+ bool
+ depends on DEFAULT_ENVIRONMENT
+ depends on SHELL_HUSH
+ select HUSH_GETOPT
+ select GLOB
+ select GLOB_SORT
+ select CMD_GLOBAL
+ select CMD_AUTOMOUNT
+ select FLEXIBLE_BOOTARGS
+ prompt "Generic environment template"
+
config DEFAULT_ENVIRONMENT_GENERIC
bool
+ depends on !HAVE_DEFAULT_ENVIRONMENT_NEW
depends on DEFAULT_ENVIRONMENT
depends on SHELL_HUSH
select HUSH_GETOPT
@@ -512,9 +528,6 @@ config DEFAULT_ENVIRONMENT_GENERIC
at least contain a /env/config file.
This will be able to overwrite the files from defaultenv.
-config HAVE_DEFAULT_ENVIRONMENT_NEW
- bool
-
config DEFAULT_ENVIRONMENT_PATH
string
depends on DEFAULT_ENVIRONMENT
diff --git a/common/Makefile b/common/Makefile
index b49e6e0141..a1926d346d 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -42,6 +42,13 @@ ifdef CONFIG_DEFAULT_ENVIRONMENT
$(obj)/startup.o: include/generated/barebox_default_env.h
$(obj)/env.o: include/generated/barebox_default_env.h
+ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW),y)
+DEFAULT_ENVIRONMENT_PATH = "defaultenv-2/base"
+ifeq ($(CONFIG_CMD_MENU_MANAGEMENT),y)
+DEFAULT_ENVIRONMENT_PATH += "defaultenv-2/menu"
+endif
+endif
+
ifeq ($(CONFIG_DEFAULT_ENVIRONMENT_GENERIC),y)
DEFAULT_ENVIRONMENT_PATH = "defaultenv"
endif