[U-Boot] [PATCH] pxe: Fix pxe boot with FIT image

Simon Glass sjg at chromium.org
Fri Aug 5 03:37:01 CEST 2016


+Tom

On 4 August 2016 at 01:44, Wenbin song <wenbin.song at nxp.com> wrote:
> From: York Sun <york.sun at nxp.com>
>
> When FIT image is used, a single image provides kernel, device
> tree and optionally ramdisk. Argc and argv need to be adjusted
> to support this.
>
> Signed-off-by: York Sun <york.sun at nxp.com>
> ---
>  cmd/pxe.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)

I cannot see this patch in patchwork - Tom do you know if there is
anything wrong?

- Simon

>
> diff --git a/cmd/pxe.c b/cmd/pxe.c
> index 9434a18..0a07f14 100644
> --- a/cmd/pxe.c
> +++ b/cmd/pxe.c
> @@ -620,7 +620,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
>         char initrd_str[22];
>         char mac_str[29] = "";
>         char ip_str[68] = "";
> -       int bootm_argc = 3;
> +       int bootm_argc = 2;
>         int len = 0;
>         ulong kernel_addr;
>         void *buf;
> @@ -652,8 +652,6 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
>                 strcpy(bootm_argv[2], getenv("ramdisk_addr_r"));
>                 strcat(bootm_argv[2], ":");
>                 strcat(bootm_argv[2], getenv("filesize"));
> -       } else {
> -               bootm_argv[2] = "-";
>         }
>
>         if (get_relfile_envaddr(cmdtp, label->kernel, "kernel_addr_r") < 0) {
> @@ -785,8 +783,11 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
>         if (!bootm_argv[3])
>                 bootm_argv[3] = getenv("fdt_addr");
>
> -       if (bootm_argv[3])
> +       if (bootm_argv[3]) {
> +               if (!bootm_argv[2])
> +                       bootm_argv[2] = "-";
>                 bootm_argc = 4;
> +       }
>
>         kernel_addr = genimg_get_kernel_addr(bootm_argv[1]);
>         buf = map_sysmem(kernel_addr, 0);
> --
> 2.1.0.27.g96db324
>


More information about the U-Boot mailing list