Skip to content

Build add intelundi

Jake Garver edited this page Jul 11, 2024 · 4 revisions

Building with the IntelUndi driver

The IntelUndi driver supports the 500 series NICs used on the Server platform. NVIDIA cannot distribute this driver, so it is not included by default. These instructions outline how to download, unpack, and add the driver to the build.

Download

The driver must be downloaded from Intel. Version 27.0 has been verified, but newer versions may work.

Download PREBOOT.zip here.

  • Note: The Linux download does not contain the required files. Be sure to download for Windows, even if building on Linux.

Unpack

We'll unpack PREBOOT.zip into a temporary directory and then create "edk2-intelundi". The source is inside zip files, which are wrapped inside additional zip layers.

The following instructions assume a workspace has already been created using the build instructions.

# Unpack PREBOOT.zip into a temporary directory
cd /path/to/workspace
mkdir IntelUndi
cd IntelUndi
unzip /path/to/PREBOOT.zip

# Inside PREBOOT.zip is a self-extracting zip archive, PREBOOT.exe.  We can
# just unzip it too instead of running it.
unzip PREBOOT.exe
cd ..

# Unpack the driver XGig driver
mkdir -p edk2-intelundi/XGigUndiDxe/IntelUndiPkg
cd edk2-intelundi/XGigUndiDxe/IntelUndiPkg/
unzip ../../../IntelUndi/APPS/EFI/OPENSRC/XGigUndiDxe.zip
cd -

# Unpack the i40e driver
mkdir -p edk2-intelundi/i40eUndiDxe/IntelUndiPkg
cd edk2-intelundi/i40eUndiDxe/IntelUndiPkg/
unzip ../../../IntelUndi/APPS/EFI/OPENSRC/i40eUndiDxe.zip
cd -

Build

Before building the following environment must be set. Add the following to edk2-nvidia/Platform/NVIDIA/Server/build.sh prior to the "Prepare and build" steps:

STUART_BUILD_OPTIONS+=" --verbose"
STUART_BUILD_OPTIONS+=" --insert-packages-path edk2-intelundi/XGigUndiDxe"
STUART_BUILD_OPTIONS+=" --insert-packages-path edk2-intelundi/i40eUndiDxe"
STUART_BUILD_OPTIONS+=" BLD_*_ENABLE_INTELUNDI=1"
export STUART_BUILD_OPTIONS

Once added, the Server platform can be built as normal.

Clone this wiki locally