public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Santhapur Naveen <naveens@amiindia.co.in>
To: "Fu, Siyuan" <siyuan.fu@intel.com>,
	Karunakar P <karunakarp@amiindia.co.in>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: HTTP Boot failed to download NBP file if it is .iso type
Date: Tue, 13 Jun 2017 09:31:49 +0000	[thread overview]
Message-ID: <625A2455CC232F40B0F38F05ACED6D97C8691546@Venus2.in.megatrends.com> (raw)
In-Reply-To: <B1FF2E9001CE9041BD10B825821D5BC58B33BD65@SHSMSX103.ccr.corp.intel.com>

Hi Siyuan,

Thank you for your reply.
And regarding the OS installation, we are able to download SUSE iso (>3 GB) from the HTTP server. But the install didn't happen.
May I ask you what could be possible reason? Is there anything else I've had missed, please let me know.

Regards,
Naveen

-----Original Message-----
From: Fu, Siyuan [mailto:siyuan.fu@intel.com] 
Sent: Tuesday, June 13, 2017 8:17 AM
To: Santhapur Naveen; Karunakar P; edk2-devel@lists.01.org
Subject: RE: HTTP Boot failed to download NBP file if it is .iso type

Hi, Karunakar and Naveen

Status 00000023 is EFI_HTTP_ERROR, which means the HTTP server replied an HTTP error. The HTTP error code is placed in HttpIo->RspToken.Message->Data.Response->StatusCode, and will be displayed in HttpBootPrintErrorMessage() function.

If a downloaded NBP is a RAM disk image, the BDS will try to find a boot file inside it according UEFI 2.7 section 3.5.1 "Boot via the Simple File Protocol".

Best Regards,
Siyuan


-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Santhapur Naveen
Sent: Saturday, June 10, 2017 1:49 AM
To: Karunakar P; edk2-devel@lists.01.org
Subject: Re: [edk2] HTTP Boot failed to download NBP file if it is .iso type

Even if we are able to download an ISO file successfully, how will EFI_RAM_DISK_PROTOCOL comes to know what is the efi that needs to be used?

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Karunakar P
Sent: Friday, June 09, 2017 9:04 PM
To: edk2-devel@lists.01.org
Subject: [edk2] HTTP Boot failed to download NBP file if it is .iso type

Hi All,

We have facing an issue with HTTP boot.

[Issue]
HTTP Boot failed to download NBP file if it is an .iso type

[Reproduction Steps]

1.  Configure HTTP Server in Ubuntu environment.

2.  Place any iso image as NBP file.

3.  Perform UEFI HTTPv4 boot.

[Result]
DHCP process was success, But Failed to download NBP file.

[Observations]

1.  As per UEFI spec "23.7.1 Boot from URL" (UEFI 2.6, page 1222).

Here is what the section says about binary image returned by HTTP server:

"...the binary image [..] is a UEFI-formatted executable[...], or it could be mounted as a RAM disk which contains a UEFI-compliant file system (see Section 12.3)."

We're interested in exploring second scenario, when downloaded image is a UEFI-compliant file system.

Section "23.7.3.1 Device Path" on page 1226 provides examples of image URL: http://192.168.1.100/boot.iso

The specification also says that "the HTTP Boot driver will register RAM disk with the downloaded NBP, by appending a RamDisk device node to the device path above, like...".



HttpBootDxe is doing this.But NBP file itself failing to download in the case of iso image.



2.  HTTP boot fails in the following function



HttpBootGetBootFile() ->



EFI_STATUS

HttpBootGetBootFile (

  IN     HTTP_BOOT_PRIVATE_DATA   *Private,

  IN     BOOLEAN                  HeaderOnly,

  IN OUT UINTN                    *BufferSize,

     OUT UINT8                    *Buffer,

     OUT HTTP_BOOT_IMAGE_TYPE     *ImageType

  )

{

.

.

.

 Status = HttpIoRecvResponse (

             &Private->HttpIo,

             TRUE,

             ResponseData

             );

// Here the Status value is Success and ResponseData->Status = 00000023



  if (EFI_ERROR (Status) || EFI_ERROR (ResponseData->Status)) {

    if (EFI_ERROR (ResponseData->Status)) {

      StatusCode = HttpIo->RspToken.Message->Data.Response->StatusCode;

      HttpBootPrintErrorMessage (StatusCode);

      Status = ResponseData->Status;

// Here Status = 00000023



    }

    goto ERROR_5;    // goto ERROR_5

  }

.

.

.

}



Note:
We have HTTP server configured in Ubuntu Environment.

Could you please look into it.


Thanks,
karunakar


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
This e-mail is intended for the use of the addressee only and may contain privileged, confidential, or proprietary information that is exempt from disclosure under law. If you have received this message in error, please inform us promptly by reply e-mail, then delete the e-mail and destroy any printed copy. Thank you.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2017-06-13  9:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-09 15:34 HTTP Boot failed to download NBP file if it is .iso type Karunakar P
2017-06-09 17:48 ` Santhapur Naveen
2017-06-13  2:46   ` Fu, Siyuan
2017-06-13  9:31     ` Santhapur Naveen [this message]
2017-06-14  6:04       ` Fu, Siyuan
2017-06-21 11:46         ` Karunakar P
2017-06-14  7:09       ` Gary Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=625A2455CC232F40B0F38F05ACED6D97C8691546@Venus2.in.megatrends.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox