[PATCH 01/18] bootm: netbds: Drop passing of arguments
Mark Kettenis
mark.kettenis at xs4all.nl
Mon Dec 4 11:48:17 CET 2023
> From: Simon Glass <sjg at chromium.org>
> Date: Sun, 3 Dec 2023 17:26:17 -0700
Hi Simon,
There is a typo in first line of the commit message: s/netbds/netbsd/.
> It isn't clear how useful it is to pass the arguments of bootm to the
> OS. For example, if "bootm 1000 2000 3000" is used, the three arguments
> at the end are passed to the OS. This seems like a strange approach,
> since the argument have already been parsed by U-Boot and processed.
>
> Rely instead on the "bootargs" mechanism, which is the standard
> approach.
It is a very Linuxy approach though.
I suspect this feature was added to pass kernel arguments for
"one-off" boots. For example
bootm -s
could be used to boot NetBSD in single-user mode and is quite a bit
more convenient than:
setenv bootargs -s
bootm
That said, I'm not sure to what extent the bootm command is used to
boot NetBSD these days. So this may not really matter.
Cheers,
Mark
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> boot/bootm_os.c | 16 +++-------------
> 1 file changed, 3 insertions(+), 13 deletions(-)
>
> diff --git a/boot/bootm_os.c b/boot/bootm_os.c
> index b92422171a84..b5055d78706c 100644
> --- a/boot/bootm_os.c
> +++ b/boot/bootm_os.c
> @@ -102,19 +102,9 @@ static int do_bootm_netbsd(int flag, int argc, char *const argv[],
> os_hdr = hdr;
> }
>
> - if (argc > 0) {
> - ulong len;
> - int i;
> -
> - for (i = 0, len = 0; i < argc; i += 1)
> - len += strlen(argv[i]) + 1;
> - cmdline = malloc(len);
> - copy_args(cmdline, argc, argv, ' ');
> - } else {
> - cmdline = env_get("bootargs");
> - if (cmdline == NULL)
> - cmdline = "";
> - }
> + cmdline = env_get("bootargs");
> + if (!cmdline)
> + cmdline = "";
>
> loader = (void (*)(struct bd_info *, struct legacy_img_hdr *, char *, char *))images->ep;
>
> --
> 2.43.0.rc2.451.g8631bc7472-goog
>
>
More information about the U-Boot
mailing list