summaryrefslogtreecommitdiffstats
path: root/common/Kconfig
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-09-27 16:35:46 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-10-14 14:04:20 +0200
commitef5dac9c2bf7ac7ceb3027d75dadb5c52e633572 (patch)
treefeb68df17a7b53f794a0caf76b7836fdc26ded93 /common/Kconfig
parent1369bfd44f2393893036ee50f81e0104f7fb6416 (diff)
downloadbarebox-ef5dac9c2bf7ac7ceb3027d75dadb5c52e633572.tar.gz
barebox-ef5dac9c2bf7ac7ceb3027d75dadb5c52e633572.tar.xz
Implement bootloader spec support for barebox
The Bootloader Specification describes a way how kernels can be installed on devices and how they can be started by the bootloader. The bootloader spec is currently supported by (x86) gummiboot and by systemd which provides a kernel-install script. With the bootloader spec it's possible for the Operating system to install a new kernel without knowing about the bootloader and for the bootloader it's possible to discover and start Operating Systems on a media without being configured. For more details about the spec see: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ This patch adds barebox support for the spec. It enhances the 'boot' command so that not only boot script names can be given, but also devices containing bootloader spec entries. With this it's possible to call the 'boot' command like: 'boot sd emmc net'. It would then first look for bootloader spec entries on the (removable) sd card, then, is nothing is found, on the internal emmc and if still unsuccessful would call the 'net' bootscript. The bootloader Spec currently doesn't specify which entry should be default if multiple entries are found on a single device. Therefore barebox currently has two extensions of the spec. The $BOOT diretory can contain a file named 'default'. If present, the content of the file is treated as a filename under $BOOT/loader/entries/ which is used as default. Similarly if a file named 'once' is present, the entry is started once and the file is removed afterwards. This is useful for testing if a newly installed kernel works before making it the default. As on ARM and other Architectures a devicetree has to be specified for the kernel, the 'devicetree' property is used to specify a devicetree. Like 'kernel' and 'initrd' this also contains a pth relative to $BOOT. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/Kconfig')
-rw-r--r--common/Kconfig14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/Kconfig b/common/Kconfig
index 13419dc5bd..dd60ec9a26 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -437,6 +437,20 @@ config TIMESTAMP
commands like bootm or iminfo. This option is
automatically enabled when you select CFG_CMD_DATE .
+config BLSPEC
+ depends on BLOCK
+ select OFTREE
+ select FLEXIBLE_BOOTARGS
+ bool
+ prompt "Support bootloader spec"
+ help
+ Enable this to let barebox support the Freedesktop bootloader spec,
+ see: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
+ The bootloader spec is a standard interface between the bootloader
+ and the kernel. It allows the bootloader to discover boot options
+ on a device and it allows the Operating System to install / update
+ kernels.
+
choice
prompt "console support"
default CONSOLE_FULL