When passing the target name as "bootchooser.active", Linux will not
pass the parameter as environment variable to the init process. The only
way to get the bootchooser result (e.g. in an initramfs), is to parse it
out of /proc/cmdline (requires mounting of /proc, sed, ...).

After renaming, the bootchooser result will be passed as environment
variable which can easily accessed from /init (e.g. for selecting the
associated root fs).

Signed-off-by: Christian Eggers <cegg...@arri.de>
---
 common/bootchooser.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/bootchooser.c b/common/bootchooser.c
index c08db03eb..f0e3294dc 100644
--- a/common/bootchooser.c
+++ b/common/bootchooser.c
@@ -817,7 +817,7 @@ static int bootchooser_boot_one(struct bootchooser *bc, int 
*tryagain)
                goto out;
        }
 
-       system = basprintf("bootchooser.active=%s", target->name);
+       system = basprintf("bootchooser_active=%s", target->name);
        globalvar_add_simple("linux.bootargs.bootchooser", system);
        free(system);
 
-- 
Christian Eggers
Embedded software developer

Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: 
HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: 
HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; 
Markus Zeiler


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to