diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-04-29 20:13:53 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-05-14 09:16:31 +0200 |
commit | ee4cab9e587442f95e4fb3442355ca1eb56d9495 (patch) | |
tree | 5ef83d351e929e8970171dda175b7c1ae9bb49e6 /arch/arm/lib/bootm.c | |
parent | b8c94a15611ce7e191d022a3cd9f3ba23930a9c8 (diff) | |
download | barebox-ee4cab9e587442f95e4fb3442355ca1eb56d9495.tar.gz barebox-ee4cab9e587442f95e4fb3442355ca1eb56d9495.tar.xz |
booting: more flexible Linux bootargs generation
We currently use the environment variable 'bootargs' to get the
Linux bootargs. This patch allows for a more flexible bootargs
generation using global variables. With it the Linux bootargs
are concatenated from multiple variables. This allows to replace
parts of the bootargs string without having to reconstruct it
completely.
With this bootargs can be constructed like:
global linux.bootargs.base="console=ttyS0,115200"
global linux.bootargs.ip="ip=dhcp"
global linux.mtdparts="physmap-flash.0:512K(nor0.barebox),-(root)"
This will then automatically be combined into a kernel bootargs
string during boot.
If the 'linux.bootargs.' variables are all empty the old standard
'bootargs' way will be used.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib/bootm.c')
-rw-r--r-- | arch/arm/lib/bootm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index c4a50c301c..033e2eb15b 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -394,7 +394,7 @@ static int do_bootm_aimage(struct image_data *data) } if (!getenv("aimage_noverwrite_bootargs")) - setenv("bootargs", header->cmdline); + linux_bootargs_overwrite(header->cmdline); if (!getenv("aimage_noverwrite_tags")) armlinux_set_bootparams((void*)header->tags_addr); @@ -432,6 +432,7 @@ static int do_bootm_aimage(struct image_data *data) return __do_bootm_linux(data, 0); err_out: + linux_bootargs_overwrite(NULL); close(fd); return ret; |