[edk2] [PATCH 2/2] OvmfPkg: update -D E1000_ENABLE from Intel PROEFI v.07 to BootUtil v.22

Laszlo Ersek posted 2 patches 7 years, 6 months ago
There is a newer version of this series
[edk2] [PATCH 2/2] OvmfPkg: update -D E1000_ENABLE from Intel PROEFI v.07 to BootUtil v.22
Posted by Laszlo Ersek 7 years, 6 months ago
Jiaxin reports that the OvmfPkg/README instructions for downloading the
Intel PROEFI drivers, and the filenames in OvmfPkg/OvmfPkg*.fdf for
incorporating the same in the OVMF binaries, are no longer up to date; the
download link has stopped working.

Additionally, the IA32 driver binary is no more distributed by Intel.

Update OvmfPkg/README with new download instructions, and adapt the OVMF
FDF files.

With this driver in use for QEMU's e1000 NIC, the DH shell command prints,
as Controller Name, "Intel(R) PRO/1000 MT Network Connection". I
successfully tested DHCP and ping from the UEFI shell.

Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Reported-by: Jiaxin Wu <jiaxin.wu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=613
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.fdf    |  5 ----
 OvmfPkg/OvmfPkgIa32X64.fdf |  2 +-
 OvmfPkg/OvmfPkgX64.fdf     |  2 +-
 OvmfPkg/README             | 31 +++++++++++++-------
 4 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 859457e9aae5..cd91bc03a683 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -294,11 +294,6 @@ [FV.DXEFV]
 #
 # Network modules
 #
-!if $(E1000_ENABLE)
-  FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
-    SECTION PE32 = Intel3.5/EFI32/E3507E2.EFI
-  }
-!endif
   INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
   INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
   INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 2a0ed8313786..fae82709aee1 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -296,7 +296,7 @@ [FV.DXEFV]
 #
 !if $(E1000_ENABLE)
   FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
-    SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
+    SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
   }
 !endif
   INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index ca61fa125795..4da0b19b94cf 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -296,7 +296,7 @@ [FV.DXEFV]
 #
 !if $(E1000_ENABLE)
   FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
-    SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
+    SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
   }
 !endif
   INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
diff --git a/OvmfPkg/README b/OvmfPkg/README
index 33ff9432bb3e..00fb71848200 100644
--- a/OvmfPkg/README
+++ b/OvmfPkg/README
@@ -224,24 +224,35 @@ longer.)
   basic virtio-net driver, located in OvmfPkg/VirtioNetDxe.
 
 * Also independently of the iPXE NIC drivers, Intel's proprietary E1000 NIC
-  driver (PROEFI) can be embedded in the OVMF image at build time:
+  driver (from the BootUtil distribution) can be embedded in the OVMF image at
+  build time:
 
-  - Download UEFI drivers for the e1000 NIC
-    - http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17515&lang=eng
-    - Install the drivers into a directory called Intel3.5 in your WORKSPACE.
+  - Download BootUtil:
+    - Navigate to
+      https://downloadcenter.intel.com/download/19186/Ethernet-Intel-Ethernet-Connections-Boot-Utility-Preboot-Images-and-EFI-Drivers
+    - Click the download link for "PREBOOT.EXE".
+    - Accept the Intel Software License Agreement that appears.
+    - Unzip "PREBOOT.EXE" into a separate directory (this works with the
+      "unzip" utility on platforms different from Windows as well).
+    - Copy the "APPS/EFI/EFIx64/E3522X2.EFI" driver binary to
+      "Intel3.5/EFIX64/E3522X2.EFI" in your WORKSPACE.
+    - Intel have stopped distributing an IA32 driver binary (which used to
+      match the filename pattern "E35??E2.EFI"), thus this method will only
+      work for the IA32X64 and X64 builds of OVMF.
 
   - Include the driver in OVMF during the build:
-    - Add "-D E1000_ENABLE" to your build command,
+    - Add "-D E1000_ENABLE" to your build command (only when building
+      "OvmfPkg/OvmfPkgIa32X64.dsc" or "OvmfPkg/OvmfPkgX64.dsc").
     - For example: "build -D E1000_ENABLE".
 
 * When a matching iPXE driver is configured for a NIC as described above, it
   takes priority over other drivers that could possibly drive the card too:
 
-                 | e1000  ne2k_pci  pcnet  rtl8139  virtio-net-pci
-    -------------+------------------------------------------------
-    iPXE         |   x       x        x       x           x
-    VirtioNetDxe |                                        x
-    Intel PROEFI |   x
+                         | e1000  ne2k_pci  pcnet  rtl8139  virtio-net-pci
+    ---------------------+------------------------------------------------
+    iPXE                 |   x       x        x       x           x
+    VirtioNetDxe         |                                        x
+    Intel BootUtil (X64) |   x
 
 === OVMF Flash Layout ===
 
-- 
2.13.1.3.g8be5a757fa67

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 2/2] OvmfPkg: update -D E1000_ENABLE from Intel PROEFI v.07 to BootUtil v.22
Posted by Wu, Jiaxin 7 years, 6 months ago
After patch with "[PATCH 1/2] disable build-time relocation for DXEFV modules", I can pass the platform build, then HTTP boot feature has been verified.

Tested-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>

Thanks,
Jiaxin

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Thursday, June 29, 2017 6:07 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Wu, Jiaxin <jiaxin.wu@intel.com>; Justen, Jordan L
> <jordan.l.justen@intel.com>
> Subject: [PATCH 2/2] OvmfPkg: update -D E1000_ENABLE from Intel PROEFI
> v.07 to BootUtil v.22
> 
> Jiaxin reports that the OvmfPkg/README instructions for downloading the
> Intel PROEFI drivers, and the filenames in OvmfPkg/OvmfPkg*.fdf for
> incorporating the same in the OVMF binaries, are no longer up to date; the
> download link has stopped working.
> 
> Additionally, the IA32 driver binary is no more distributed by Intel.
> 
> Update OvmfPkg/README with new download instructions, and adapt the
> OVMF
> FDF files.
> 
> With this driver in use for QEMU's e1000 NIC, the DH shell command prints,
> as Controller Name, "Intel(R) PRO/1000 MT Network Connection". I
> successfully tested DHCP and ping from the UEFI shell.
> 
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Reported-by: Jiaxin Wu <jiaxin.wu@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=613
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
>  OvmfPkg/OvmfPkgIa32.fdf    |  5 ----
>  OvmfPkg/OvmfPkgIa32X64.fdf |  2 +-
>  OvmfPkg/OvmfPkgX64.fdf     |  2 +-
>  OvmfPkg/README             | 31 +++++++++++++-------
>  4 files changed, 23 insertions(+), 17 deletions(-)
> 
> diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
> index 859457e9aae5..cd91bc03a683 100644
> --- a/OvmfPkg/OvmfPkgIa32.fdf
> +++ b/OvmfPkg/OvmfPkgIa32.fdf
> @@ -294,11 +294,6 @@ [FV.DXEFV]
>  #
>  # Network modules
>  #
> -!if $(E1000_ENABLE)
> -  FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
> -    SECTION PE32 = Intel3.5/EFI32/E3507E2.EFI
> -  }
> -!endif
>    INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
>    INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
>    INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
> index 2a0ed8313786..fae82709aee1 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.fdf
> +++ b/OvmfPkg/OvmfPkgIa32X64.fdf
> @@ -296,7 +296,7 @@ [FV.DXEFV]
>  #
>  !if $(E1000_ENABLE)
>    FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
> -    SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
> +    SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
>    }
>  !endif
>    INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
> index ca61fa125795..4da0b19b94cf 100644
> --- a/OvmfPkg/OvmfPkgX64.fdf
> +++ b/OvmfPkg/OvmfPkgX64.fdf
> @@ -296,7 +296,7 @@ [FV.DXEFV]
>  #
>  !if $(E1000_ENABLE)
>    FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
> -    SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
> +    SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
>    }
>  !endif
>    INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> diff --git a/OvmfPkg/README b/OvmfPkg/README
> index 33ff9432bb3e..00fb71848200 100644
> --- a/OvmfPkg/README
> +++ b/OvmfPkg/README
> @@ -224,24 +224,35 @@ longer.)
>    basic virtio-net driver, located in OvmfPkg/VirtioNetDxe.
> 
>  * Also independently of the iPXE NIC drivers, Intel's proprietary E1000 NIC
> -  driver (PROEFI) can be embedded in the OVMF image at build time:
> +  driver (from the BootUtil distribution) can be embedded in the OVMF
> image at
> +  build time:
> 
> -  - Download UEFI drivers for the e1000 NIC
> -    -
> http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17515&
> lang=eng
> -    - Install the drivers into a directory called Intel3.5 in your WORKSPACE.
> +  - Download BootUtil:
> +    - Navigate to
> +      https://downloadcenter.intel.com/download/19186/Ethernet-Intel-
> Ethernet-Connections-Boot-Utility-Preboot-Images-and-EFI-Drivers
> +    - Click the download link for "PREBOOT.EXE".
> +    - Accept the Intel Software License Agreement that appears.
> +    - Unzip "PREBOOT.EXE" into a separate directory (this works with the
> +      "unzip" utility on platforms different from Windows as well).
> +    - Copy the "APPS/EFI/EFIx64/E3522X2.EFI" driver binary to
> +      "Intel3.5/EFIX64/E3522X2.EFI" in your WORKSPACE.
> +    - Intel have stopped distributing an IA32 driver binary (which used to
> +      match the filename pattern "E35??E2.EFI"), thus this method will only
> +      work for the IA32X64 and X64 builds of OVMF.
> 
>    - Include the driver in OVMF during the build:
> -    - Add "-D E1000_ENABLE" to your build command,
> +    - Add "-D E1000_ENABLE" to your build command (only when building
> +      "OvmfPkg/OvmfPkgIa32X64.dsc" or "OvmfPkg/OvmfPkgX64.dsc").
>      - For example: "build -D E1000_ENABLE".
> 
>  * When a matching iPXE driver is configured for a NIC as described above, it
>    takes priority over other drivers that could possibly drive the card too:
> 
> -                 | e1000  ne2k_pci  pcnet  rtl8139  virtio-net-pci
> -    -------------+------------------------------------------------
> -    iPXE         |   x       x        x       x           x
> -    VirtioNetDxe |                                        x
> -    Intel PROEFI |   x
> +                         | e1000  ne2k_pci  pcnet  rtl8139  virtio-net-pci
> +    ---------------------+------------------------------------------------
> +    iPXE                 |   x       x        x       x           x
> +    VirtioNetDxe         |                                        x
> +    Intel BootUtil (X64) |   x
> 
>  === OVMF Flash Layout ===
> 
> --
> 2.13.1.3.g8be5a757fa67

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 2/2] OvmfPkg: update -D E1000_ENABLE from Intel PROEFI v.07 to BootUtil v.22
Posted by Laszlo Ersek 7 years, 5 months ago
On 06/30/17 03:20, Wu, Jiaxin wrote:
> After patch with "[PATCH 1/2] disable build-time relocation for DXEFV modules", I can pass the platform build, then HTTP boot feature has been verified.
> 
> Tested-by: Wu Jiaxin <jiaxin.wu@intel.com>
> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
> 

Thank you!
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel