From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from IMSVA.IN.MEGATRENDS.COM (Webmail.amiindia.co.in [203.199.198.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D7D4F21A16ECB for ; Fri, 9 Jun 2017 08:33:12 -0700 (PDT) Received: from IMSVA.IN.MEGATRENDS.COM (IMSVA.IN.MEGATRENDS.COM [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 11ECA82055 for ; Fri, 9 Jun 2017 21:06:24 +0530 (IST) Received: from IMSVA.IN.MEGATRENDS.COM (IMSVA.IN.MEGATRENDS.COM [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DEEF582046 for ; Fri, 9 Jun 2017 21:06:23 +0530 (IST) Received: from webmail.amiindia.co.in (venus1.in.megatrends.com [10.0.0.5]) by IMSVA.IN.MEGATRENDS.COM (Postfix) with ESMTPS for ; Fri, 9 Jun 2017 21:06:23 +0530 (IST) Received: from VENUS2.in.megatrends.com ([fe80::2002:4a07:4f17:c09b]) by VENUS1.in.megatrends.com ([fe80::951:7975:6ecf:eae5%14]) with mapi id 14.01.0438.000; Fri, 9 Jun 2017 21:04:18 +0530 From: Karunakar P To: "edk2-devel@lists.01.org" Thread-Topic: HTTP Boot failed to download NBP file if it is .iso type Thread-Index: AdLhJADZenTRkzHLTdKp4dJtuK+91A== Date: Fri, 9 Jun 2017 15:34:17 +0000 Message-ID: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.0.84.200] MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSVA-9.1.0.1600-8.1.0.1062-23122.001 X-TM-AS-Result: No--16.851-5.0-31-10 X-imss-scan-details: No--16.851-5.0-31-10 X-TMASE-Version: IMSVA-9.1.0.1600-8.1.1062-23122.001 X-TMASE-Result: 10--16.851100-10.000000 X-TMASE-MatchedRID: Wtc4rftDrJiA/l0nirxEGIzb2GR6Ttd3E21NSmBqEKcG2yXKuUsCokpO 2kNfu9sKIXF0eKNG7VvOVUs8iujDBlYv4BqgLuJU4t2mucDkRBFMkOX0UoduuazAFYv+s+0oLmb MZSHSZUO5F69T9uiWmWKYeZv05+HVQdZuZ42vrpF+e0Tj9UIQkLn7V+KB+3cuvC5V4fE1l8jHES Ua8/SV+OC6ms9NBoOTstG4v5hol/BP6qceA7Yxif5BY/u+bb0MgHzgwy8qV5qsafcFLFlU1Mx/m 2W9O0zDI8qZxoWaGPWHc4lwrx5hRBhzK7qAlTSL/Sl5cYQQGW+DddlymG7iS0rRZP/NcCCSizrF pWHTBvcEdWbTGHnxVjwu4/5s6Qxa3eMXZ9Vw93MMH4SsGvRsA1qvZZ9/gpIhpRezBf/GshI57kF jOTI5JRfwoGaxTN/qp0IjHbiBDzahceD4qhbZRrlgdmQKMEU90ADHMFWD8UOen0qBdy7fjDzAK7 q1A+IitEhIXI0fCBMAd1dOynUsCQHfJyFG0p3Memu6h6JZhrmZEoWHC6Rh/QS/lfZQ9/PRbIWOP pO5CT6ZkzpP3CwaB0jtkIPHR1VbWx8LczCIsNKEMriRd+ARugPOOkGDNg0ssstO9qYbwEmjxYyR Ba/qJeBPbNdhr3+dexDfli32AEgxA7RS66ObvUWm0RcbxEpxSu/m/OnEjpu+KsU/dFQj7gMh4l6 lUbHt X-TMASE-SNAP-Result: 1.821001.0001-0-1-12:0,22:0,33:0,34:0,39:0-0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: HTTP Boot failed to download NBP file if it is .iso type X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:33:13 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 S= ection 12.3)." We're interested in exploring second scenario, when downloaded image is a U= EFI-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 di= sk with the downloaded NBP, by appending a RamDisk device node to the devic= e path above, like...". HttpBootDxe is doing this.But NBP file itself failing to download in the ca= se 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 =3D HttpIoRecvResponse ( &Private->HttpIo, TRUE, ResponseData ); // Here the Status value is Success and ResponseData->Status =3D 00000023 if (EFI_ERROR (Status) || EFI_ERROR (ResponseData->Status)) { if (EFI_ERROR (ResponseData->Status)) { StatusCode =3D HttpIo->RspToken.Message->Data.Response->StatusCode; HttpBootPrintErrorMessage (StatusCode); Status =3D ResponseData->Status; // Here Status =3D 00000023 } goto ERROR_5; // goto ERROR_5 } . . . } Note: We have HTTP server configured in Ubuntu Environment. Could you please look into it. Thanks, karunakar