git: 8b31122740c4 - main - sysutils/intel-nvmupdate-*: Add OEM ports

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Sun, 20 Sep 2026 08:49:16 UTC
The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8b31122740c45104c6ab49eb29a8b94e6d99d1c0

commit 8b31122740c45104c6ab49eb29a8b94e6d99d1c0
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-09-20 08:25:51 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-09-20 08:49:10 +0000

    sysutils/intel-nvmupdate-*: Add OEM ports
    
    OEM adapters from Dell, HPE and Lenovo can use independent eTrack and
    nvm settings, so the Intel utilities don't recognize all adapters.
    Additionally, Intel doesn't supply public nvm updates for the LOM/OCP parts.
    
    These ports combine a suitable version of Intel's FreeBSD nvmupdate binary
    with the OEM firmware payloads and configurations.
---
 sysutils/Makefile                                  |  7 ++
 sysutils/intel-nvmupdate-700series-dell/Makefile   | 74 +++++++++++++++++
 sysutils/intel-nvmupdate-700series-dell/distinfo   |  5 ++
 .../files/nvmupdate-700series-dell.in              |  4 +
 sysutils/intel-nvmupdate-700series-dell/pkg-descr  |  5 ++
 sysutils/intel-nvmupdate-700series-dell/pkg-plist  | 29 +++++++
 sysutils/intel-nvmupdate-e810-e823-dell/Makefile   | 81 ++++++++++++++++++
 sysutils/intel-nvmupdate-e810-e823-dell/distinfo   |  5 ++
 .../files/nvmupdate-e810-e823-dell.in              |  4 +
 sysutils/intel-nvmupdate-e810-e823-dell/pkg-descr  |  3 +
 sysutils/intel-nvmupdate-e810-e823-dell/pkg-plist  | 24 ++++++
 sysutils/intel-nvmupdate-e810-lenovo/Makefile      | 95 ++++++++++++++++++++++
 sysutils/intel-nvmupdate-e810-lenovo/distinfo      |  5 ++
 .../files/README.FreeBSD                           |  9 ++
 .../files/nvmupdate-e810-lenovo.in                 |  4 +
 .../files/nvmupdate.cfg                            | 58 +++++++++++++
 .../files/source_manifest.txt                      | 16 ++++
 sysutils/intel-nvmupdate-e810-lenovo/pkg-descr     |  5 ++
 sysutils/intel-nvmupdate-e810-lenovo/pkg-plist     | 24 ++++++
 sysutils/intel-nvmupdate-e825-e830-dell/Makefile   | 76 +++++++++++++++++
 sysutils/intel-nvmupdate-e825-e830-dell/distinfo   |  5 ++
 .../files/nvmupdate-e825-e830-dell.in              |  4 +
 sysutils/intel-nvmupdate-e825-e830-dell/pkg-descr  |  4 +
 sysutils/intel-nvmupdate-e825-e830-dell/pkg-plist  | 20 +++++
 .../Makefile                                       | 60 ++++++++++++++
 .../distinfo                                       |  5 ++
 .../nvmupdate-i210-i350-x550-700series-lenovo.in   |  4 +
 .../pkg-descr                                      |  7 ++
 .../pkg-plist                                      | 42 ++++++++++
 .../Makefile                                       | 66 +++++++++++++++
 .../distinfo                                       |  5 ++
 .../files/nvmupdate-i350-x550-700series-hpe.in     |  4 +
 .../pkg-descr                                      |  6 ++
 .../pkg-plist                                      | 37 +++++++++
 sysutils/intel-nvmupdate-i350-x550-dell/Makefile   | 72 ++++++++++++++++
 sysutils/intel-nvmupdate-i350-x550-dell/distinfo   |  5 ++
 .../files/nvmupdate-i350-x550-dell.in              |  4 +
 sysutils/intel-nvmupdate-i350-x550-dell/pkg-descr  |  5 ++
 sysutils/intel-nvmupdate-i350-x550-dell/pkg-plist  | 17 ++++
 39 files changed, 905 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 3e681f4cb9d1..ce172f444602 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -557,11 +557,18 @@
     SUBDIR += installwatch
     SUBDIR += intel-epct
     SUBDIR += intel-nvmupdate-700series
+    SUBDIR += intel-nvmupdate-700series-dell
     SUBDIR += intel-nvmupdate-e610
     SUBDIR += intel-nvmupdate-e810
+    SUBDIR += intel-nvmupdate-e810-e823-dell
+    SUBDIR += intel-nvmupdate-e810-lenovo
+    SUBDIR += intel-nvmupdate-e825-e830-dell
     SUBDIR += intel-nvmupdate-e830-e835
     SUBDIR += intel-nvmupdate-i210
+    SUBDIR += intel-nvmupdate-i210-i350-x550-700series-lenovo
     SUBDIR += intel-nvmupdate-i225-i226
+    SUBDIR += intel-nvmupdate-i350-x550-700series-hpe
+    SUBDIR += intel-nvmupdate-i350-x550-dell
     SUBDIR += intel-nvmupdate-x550
     SUBDIR += intel-pcm
     SUBDIR += intel-undervolt
diff --git a/sysutils/intel-nvmupdate-700series-dell/Makefile b/sysutils/intel-nvmupdate-700series-dell/Makefile
new file mode 100644
index 000000000000..e2f50eb8e7c0
--- /dev/null
+++ b/sysutils/intel-nvmupdate-700series-dell/Makefile
@@ -0,0 +1,74 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	25.0.4
+CATEGORIES=	sysutils
+MASTER_SITES=	https://dl.dell.com/FOLDER14205970M/2/:dell \
+		https://downloadmirror.intel.com/920687/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-700series-dell
+DISTFILES=	${DELL_DISTFILE}:dell \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for Dell Intel Ethernet 700 Series adapters
+WWW=		https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=PJDHV
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${INTEL_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${INTEL_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+FETCH_ARGS+=	--user-agent=Mozilla/5.0
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-700series-dell
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+DELL_DISTFILE=	Network_Firmware_PJDHV_LN_25.0.4_A00.BIN
+INTEL_DISTFILE=	700Series_NVMUpdatePackage_v9_57_FreeBSD.tar.gz
+
+INTEL_WRKSRC=	${WRKDIR}/700Series/FreeBSDx64
+DELL_WRKSRC=	${WRKDIR}/dell
+NVMUPDATE_DIR=	intel-nvmupdate-700series-dell
+
+INTEL_FILES=	Intel_Proprietary_License.pdf Intel_firmware_license.txt \
+		file_license.txt license.pdf license.txt
+DELL_FILES=	08XJ7.txt 68M95.txt 6VDPG.txt 6VDPG_1G.txt BootIMG.FLB CFQP.txt \
+		DDJKY.txt DX69G.txt KF46X.txt Version.txt XD56X.txt Y348Y.txt \
+		Y5M7N.txt demere_map.txt harbor_map.txt kerby_map.txt \
+		nut_msg.txt nvminv.cfg nvmupdate.cfg vpd.txt vpd_modified.txt
+
+post-extract:
+	${MKDIR} ${DELL_WRKSRC}
+	${TAR} -xf ${DISTDIR}/${DELL_DISTFILE} -C ${DELL_WRKSRC}
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}
+.for f in ${INTEL_FILES}
+	${INSTALL_DATA} ${INTEL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+.for f in ${DELL_FILES}
+	${INSTALL_DATA} ${DELL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+	${INSTALL_DATA} ${DELL_WRKSRC}/l64/license.pdf \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/license-dell.pdf
+	${INSTALL_PROGRAM} ${INTEL_WRKSRC}/nvmupdate64e \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_SCRIPT} ${WRKDIR}/nvmupdate-700series-dell \
+		${STAGEDIR}${PREFIX}/sbin/
+
+.include <bsd.port.mk>
diff --git a/sysutils/intel-nvmupdate-700series-dell/distinfo b/sysutils/intel-nvmupdate-700series-dell/distinfo
new file mode 100644
index 000000000000..fa416949c573
--- /dev/null
+++ b/sysutils/intel-nvmupdate-700series-dell/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788516807
+SHA256 (Network_Firmware_PJDHV_LN_25.0.4_A00.BIN) = dc9948574a12e590afee29d432655c95fac461f23596def278ddd80b7187bd3e
+SIZE (Network_Firmware_PJDHV_LN_25.0.4_A00.BIN) = 38114035
+SHA256 (700Series_NVMUpdatePackage_v9_57_FreeBSD.tar.gz) = eb5c8a31aaad7fbe5184890055913373340a12304da49f91b69b6bf883564df5
+SIZE (700Series_NVMUpdatePackage_v9_57_FreeBSD.tar.gz) = 75155912
diff --git a/sysutils/intel-nvmupdate-700series-dell/files/nvmupdate-700series-dell.in b/sysutils/intel-nvmupdate-700series-dell/files/nvmupdate-700series-dell.in
new file mode 100644
index 000000000000..05beba1bf604
--- /dev/null
+++ b/sysutils/intel-nvmupdate-700series-dell/files/nvmupdate-700series-dell.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%PREFIX%%/%%NVMUPDATE_DIR%% || exit 1
+exec ./nvmupdate64e "$@"
diff --git a/sysutils/intel-nvmupdate-700series-dell/pkg-descr b/sysutils/intel-nvmupdate-700series-dell/pkg-descr
new file mode 100644
index 000000000000..0e3a2cdbaac3
--- /dev/null
+++ b/sysutils/intel-nvmupdate-700series-dell/pkg-descr
@@ -0,0 +1,5 @@
+This package combines Dell's Intel Ethernet 700 Series firmware bundle
+with Intel's FreeBSD NVMUpdate utility.  It retains the OEM device entries
+and firmware configuration shipped by Dell.
+
+Use nvmupdate-700series-dell for Dell X710, XL710, XXV710, and X722 adapters.
diff --git a/sysutils/intel-nvmupdate-700series-dell/pkg-plist b/sysutils/intel-nvmupdate-700series-dell/pkg-plist
new file mode 100644
index 000000000000..fbb1df8f4dec
--- /dev/null
+++ b/sysutils/intel-nvmupdate-700series-dell/pkg-plist
@@ -0,0 +1,29 @@
+intel-nvmupdate-700series-dell/08XJ7.txt
+intel-nvmupdate-700series-dell/68M95.txt
+intel-nvmupdate-700series-dell/6VDPG.txt
+intel-nvmupdate-700series-dell/6VDPG_1G.txt
+intel-nvmupdate-700series-dell/BootIMG.FLB
+intel-nvmupdate-700series-dell/CFQP.txt
+intel-nvmupdate-700series-dell/DDJKY.txt
+intel-nvmupdate-700series-dell/DX69G.txt
+intel-nvmupdate-700series-dell/Intel_Proprietary_License.pdf
+intel-nvmupdate-700series-dell/Intel_firmware_license.txt
+intel-nvmupdate-700series-dell/KF46X.txt
+intel-nvmupdate-700series-dell/Version.txt
+intel-nvmupdate-700series-dell/XD56X.txt
+intel-nvmupdate-700series-dell/Y348Y.txt
+intel-nvmupdate-700series-dell/Y5M7N.txt
+intel-nvmupdate-700series-dell/demere_map.txt
+intel-nvmupdate-700series-dell/file_license.txt
+intel-nvmupdate-700series-dell/harbor_map.txt
+intel-nvmupdate-700series-dell/kerby_map.txt
+intel-nvmupdate-700series-dell/license-dell.pdf
+intel-nvmupdate-700series-dell/license.pdf
+intel-nvmupdate-700series-dell/license.txt
+intel-nvmupdate-700series-dell/nut_msg.txt
+intel-nvmupdate-700series-dell/nvminv.cfg
+intel-nvmupdate-700series-dell/nvmupdate.cfg
+intel-nvmupdate-700series-dell/nvmupdate64e
+intel-nvmupdate-700series-dell/vpd.txt
+intel-nvmupdate-700series-dell/vpd_modified.txt
+sbin/nvmupdate-700series-dell
diff --git a/sysutils/intel-nvmupdate-e810-e823-dell/Makefile b/sysutils/intel-nvmupdate-e810-e823-dell/Makefile
new file mode 100644
index 000000000000..dae259e2e6d5
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-e823-dell/Makefile
@@ -0,0 +1,81 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	25.0.4
+CATEGORIES=	sysutils
+MASTER_SITES=	https://dl.dell.com/FOLDER14206109M/1/:dell \
+		https://downloadmirror.intel.com/923633/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-e810-e823-dell
+DISTFILES=	${DELL_DISTFILE}:dell \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for Dell Intel E810 and E823 adapters
+WWW=		https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=FCG2V
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${INTEL_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${INTEL_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+FETCH_ARGS+=	--user-agent=Mozilla/5.0
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-e810-e823-dell
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+DELL_DISTFILE=	Network_Firmware_FCG2V_LN_25.0.4_A00.BIN
+INTEL_DISTFILE=	E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz
+
+INTEL_WRKSRC=	${WRKDIR}/E810/FreeBSDx64
+DELL_WRKSRC=	${WRKDIR}/dell
+NVMUPDATE_DIR=	intel-nvmupdate-e810-e823-dell
+
+INTEL_FILES=	Intel_Proprietary_License.pdf Intel_firmware_license.txt \
+		file_license.txt license.pdf license.txt
+DELL_FILES=	Version.txt nut_msg.txt nvminv.cfg nvmupdate.cfg
+NVM_FILES=	aspen_flat_inj.bin chapman_beach_inj.bin \
+		clifton_channel_inj.bin derrick_key_inj.bin \
+		logan_beach-nognss_inj.bin logan_beach_inj.bin \
+		meadow_flat_inj.bin outlander_soc_inj.bin salem_channel_inj.bin \
+		tacoma_rapids_inj.bin westport_channel-nognss_inj.bin \
+		westport_channel_inj.bin
+
+post-extract:
+	${MKDIR} ${DELL_WRKSRC}
+	${TAR} -xf ${DISTDIR}/${DELL_DISTFILE} -C ${DELL_WRKSRC}
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}
+.for f in ${INTEL_FILES}
+	${INSTALL_DATA} ${INTEL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+.for f in ${DELL_FILES}
+	${INSTALL_DATA} ${DELL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+.for f in ${NVM_FILES}
+	${INSTALL_DATA} ${DELL_WRKSRC}/payload/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+	${INSTALL_DATA} ${DELL_WRKSRC}/l64/license.pdf \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/license-dell.pdf
+	${INSTALL_PROGRAM} ${INTEL_WRKSRC}/nvmupdate64e \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_SCRIPT} ${WRKDIR}/nvmupdate-e810-e823-dell \
+		${STAGEDIR}${PREFIX}/sbin/
+
+.include <bsd.port.mk>
diff --git a/sysutils/intel-nvmupdate-e810-e823-dell/distinfo b/sysutils/intel-nvmupdate-e810-e823-dell/distinfo
new file mode 100644
index 000000000000..555333f9fd06
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-e823-dell/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788516808
+SHA256 (Network_Firmware_FCG2V_LN_25.0.4_A00.BIN) = 1f9f7dff5a111730486755ddd581ea355900051f8541b2f7fc112f2c221217df
+SIZE (Network_Firmware_FCG2V_LN_25.0.4_A00.BIN) = 64448591
+SHA256 (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = d32d055717cf0d745a9170066b0039769b9a7edcdb53bf1b9aa21c88d7a4fc38
+SIZE (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = 50506169
diff --git a/sysutils/intel-nvmupdate-e810-e823-dell/files/nvmupdate-e810-e823-dell.in b/sysutils/intel-nvmupdate-e810-e823-dell/files/nvmupdate-e810-e823-dell.in
new file mode 100644
index 000000000000..05beba1bf604
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-e823-dell/files/nvmupdate-e810-e823-dell.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%PREFIX%%/%%NVMUPDATE_DIR%% || exit 1
+exec ./nvmupdate64e "$@"
diff --git a/sysutils/intel-nvmupdate-e810-e823-dell/pkg-descr b/sysutils/intel-nvmupdate-e810-e823-dell/pkg-descr
new file mode 100644
index 000000000000..98e1669da899
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-e823-dell/pkg-descr
@@ -0,0 +1,3 @@
+This package combines Dell's Intel E810 and E823 firmware bundle with Intel's
+FreeBSD NVMUpdate utility.  It retains all 12 OEM device entries and their
+signed NVM images as shipped in Dell package FCG2V.
diff --git a/sysutils/intel-nvmupdate-e810-e823-dell/pkg-plist b/sysutils/intel-nvmupdate-e810-e823-dell/pkg-plist
new file mode 100644
index 000000000000..ab752e430436
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-e823-dell/pkg-plist
@@ -0,0 +1,24 @@
+intel-nvmupdate-e810-e823-dell/Intel_Proprietary_License.pdf
+intel-nvmupdate-e810-e823-dell/Intel_firmware_license.txt
+intel-nvmupdate-e810-e823-dell/Version.txt
+intel-nvmupdate-e810-e823-dell/aspen_flat_inj.bin
+intel-nvmupdate-e810-e823-dell/chapman_beach_inj.bin
+intel-nvmupdate-e810-e823-dell/clifton_channel_inj.bin
+intel-nvmupdate-e810-e823-dell/derrick_key_inj.bin
+intel-nvmupdate-e810-e823-dell/file_license.txt
+intel-nvmupdate-e810-e823-dell/license-dell.pdf
+intel-nvmupdate-e810-e823-dell/license.pdf
+intel-nvmupdate-e810-e823-dell/license.txt
+intel-nvmupdate-e810-e823-dell/logan_beach-nognss_inj.bin
+intel-nvmupdate-e810-e823-dell/logan_beach_inj.bin
+intel-nvmupdate-e810-e823-dell/meadow_flat_inj.bin
+intel-nvmupdate-e810-e823-dell/nut_msg.txt
+intel-nvmupdate-e810-e823-dell/nvminv.cfg
+intel-nvmupdate-e810-e823-dell/nvmupdate.cfg
+intel-nvmupdate-e810-e823-dell/nvmupdate64e
+intel-nvmupdate-e810-e823-dell/outlander_soc_inj.bin
+intel-nvmupdate-e810-e823-dell/salem_channel_inj.bin
+intel-nvmupdate-e810-e823-dell/tacoma_rapids_inj.bin
+intel-nvmupdate-e810-e823-dell/westport_channel-nognss_inj.bin
+intel-nvmupdate-e810-e823-dell/westport_channel_inj.bin
+sbin/nvmupdate-e810-e823-dell
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/Makefile b/sysutils/intel-nvmupdate-e810-lenovo/Makefile
new file mode 100644
index 000000000000..a0c9297c9ee9
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/Makefile
@@ -0,0 +1,95 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	4.90.1.3897.0
+CATEGORIES=	sysutils
+MASTER_SITES=	https://download.lenovo.com/servers/mig/2026/01/12/63999/:lenovo \
+		https://downloadmirror.intel.com/923633/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-e810-lenovo
+DISTFILES=	${LENOVO_DISTFILE}:lenovo \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for Lenovo Intel E810 adapters
+WWW=		https://datacentersupport.lenovo.com/us/en/downloads/ds578930
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${INTEL_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${INTEL_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-e810-lenovo
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+LENOVO_DISTFILE=	intc-lnvgy_fw_nic_net.e800-4.90-1.3897.0-ja0cn-0262_anyos_comp.zip
+INTEL_DISTFILE=		E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz
+
+INTEL_WRKSRC=		${WRKDIR}/E810/FreeBSDx64
+LENOVO_WRKSRC=		${WRKDIR}/lenovo
+LENOVO_NVM_WRKSRC=	${WRKDIR}/lenovo-nvm
+NVMUPDATE_DIR=		intel-nvmupdate-e810-lenovo
+
+INTEL_FILES=		Intel_Proprietary_License.pdf \
+			Intel_firmware_license.txt file_license.txt license.pdf \
+			license.txt
+LENOVO_PAYLOADS=	intc-lnvgy_fw_nic_net.e800.fam001-4.90-1.3897.0-ja0cn-026_anyos_comp.uxz \
+			intc-lnvgy_fw_nic_net.e800.fam002-4.90-1.3897.0-ja0cn-026_anyos_comp.uxz \
+			intc-lnvgy_fw_nic_net.e800.fam003-4.90-1.3897.0-ja0cn-026_anyos_comp.uxz \
+			intc-lnvgy_fw_nic_net.e800.fam004-4.90-1.3897.0-ja0cn-026_anyos_comp.uxz
+LENOVO_METADATA_PREFIX=	intc-lnvgy_fw_nic_net.e800
+LENOVO_METADATA_SUFFIX=	4.90-1.3897.0-ja0cn-0262_anyos_comp
+
+post-extract:
+	${MKDIR} ${LENOVO_WRKSRC} ${LENOVO_NVM_WRKSRC}
+	${TAR} -xf ${DISTDIR}/${LENOVO_DISTFILE} -C ${LENOVO_WRKSRC}
+.for f in ${LENOVO_PAYLOADS}
+	${TAR} -xf ${LENOVO_WRKSRC}/payloads/${f} -C ${LENOVO_NVM_WRKSRC}
+.endfor
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}
+.for f in ${INTEL_FILES}
+	${INSTALL_DATA} ${INTEL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+	${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${FILESDIR}/nvmupdate.cfg \
+		${FILESDIR}/source_manifest.txt \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_DATA} ${LENOVO_WRKSRC}/${LENOVO_METADATA_PREFIX}-${LENOVO_METADATA_SUFFIX}.txt \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/LenovoReadme.txt
+	${INSTALL_DATA} ${LENOVO_WRKSRC}/${LENOVO_METADATA_PREFIX}-${LENOVO_METADATA_SUFFIX}.chg \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/LenovoChg.chg
+.for n in 001 002 003 004
+	${INSTALL_DATA} ${LENOVO_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam${n}-${LENOVO_METADATA_SUFFIX}_inventory.json \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/inventory-fam${n}.json
+	${INSTALL_DATA} ${LENOVO_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam${n}-${LENOVO_METADATA_SUFFIX}_signature.json \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/signature-fam${n}.json
+.endfor
+	${INSTALL_DATA} ${LENOVO_NVM_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam001-4.90-1.3897.0-ja0cn-026_anyos_comp.pldm \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/4002-AF-80021365.bin
+	${INSTALL_DATA} ${LENOVO_NVM_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam002-4.90-1.3897.0-ja0cn-026_anyos_comp.pldm \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/4003-80021362.bin
+	${INSTALL_DATA} ${LENOVO_NVM_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam003-4.90-1.3897.0-ja0cn-026_anyos_comp.pldm \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/4010-80021364.bin
+	${INSTALL_DATA} ${LENOVO_NVM_WRKSRC}/${LENOVO_METADATA_PREFIX}.fam004-4.90-1.3897.0-ja0cn-026_anyos_comp.pldm \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/4013-80021363.bin
+	${INSTALL_PROGRAM} ${INTEL_WRKSRC}/nvmupdate64e \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_SCRIPT} ${WRKDIR}/nvmupdate-e810-lenovo \
+		${STAGEDIR}${PREFIX}/sbin/
+
+.include <bsd.port.mk>
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/distinfo b/sysutils/intel-nvmupdate-e810-lenovo/distinfo
new file mode 100644
index 000000000000..a8b5a78234ca
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788516809
+SHA256 (intc-lnvgy_fw_nic_net.e800-4.90-1.3897.0-ja0cn-0262_anyos_comp.zip) = 1d7dc96b1c8fded693d6ae370d60111dd11d90e743190e3065700c14861a64f7
+SIZE (intc-lnvgy_fw_nic_net.e800-4.90-1.3897.0-ja0cn-0262_anyos_comp.zip) = 42146896
+SHA256 (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = d32d055717cf0d745a9170066b0039769b9a7edcdb53bf1b9aa21c88d7a4fc38
+SIZE (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = 50506169
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/files/README.FreeBSD b/sysutils/intel-nvmupdate-e810-lenovo/files/README.FreeBSD
new file mode 100644
index 000000000000..08d9dfcbbb78
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/files/README.FreeBSD
@@ -0,0 +1,9 @@
+This port uses Intel's FreeBSD NVMUpdate executable with Lenovo's current
+E810 AnyOS firmware payload.  Lenovo publishes the four adapters as one AnyOS
+bundle, but does not include an nvmupdate.cfg in that bundle.  The FreeBSD
+configuration combines the four device entries and complete ETrack histories
+from Lenovo's corresponding first-party per-adapter NVMUpdate packages.
+
+The .pldm files inside Lenovo's AnyOS payload are byte-for-byte identical to
+the NVM .bin files in those per-adapter packages.  They are renamed at install
+time only so the combined configuration uses Lenovo's original NVM filenames.
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate-e810-lenovo.in b/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate-e810-lenovo.in
new file mode 100644
index 000000000000..05beba1bf604
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate-e810-lenovo.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%PREFIX%%/%%NVMUPDATE_DIR%% || exit 1
+exec ./nvmupdate64e "$@"
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate.cfg b/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate.cfg
new file mode 100644
index 000000000000..7793e5059b98
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/files/nvmupdate.cfg
@@ -0,0 +1,58 @@
+CURRENT FAMILY: 1.0.0
+CONFIG VERSION: 1.20.0
+
+; Lenovo Aspen Flat DP SFP OCP 3.0 (CVL SD)
+BEGIN DEVICE
+DEVICENAME: Intel(R) Ethernet Network Adapter E810-XXV-2 for OCP 3.0
+VENDOR: 8086
+DEVICE: 159B
+SUBVENDOR: 8086
+SUBDEVICE: 4002
+IMAGE DOWNGRADE: TRUE
+NVM IMAGE:  4002-AF-80021365.bin
+EEPID:  80021365
+REPLACES: 80003793 80003A76 80003F7D 8000467F 80005259 800056D3 80005FFD 80007029 8000813D 800089FA 800097E6 8000AD92 8000EAD3 8000EF1A 8000F642 800114C9 800128DF 80013E0C 80015536 80017E33 80017E41 80018F56 8001944B 8001B8C3 8001C40C 8001DEDB 8001EA32 8001F4F3 800207B5 80020055 80020B48 80020F6E 80021365
+RESET TYPE: REBOOT
+END DEVICE
+
+; Lenovo Clifton Channel dual port SFP (Columbiaville SD)
+BEGIN DEVICE
+DEVICENAME: Intel(R) Ethernet Network Adapter E810-XXV-2
+VENDOR: 8086
+DEVICE: 159B
+SUBVENDOR: 8086
+SUBDEVICE: 4003
+IMAGE DOWNGRADE: TRUE
+NVM IMAGE:  4003-80021362.bin
+EEPID:  80021362
+REPLACES: 80003791 80003A75 80003F7C 8000454F 80005258 800056D1 80005FFC 8000704B 80007027 80008126 800089F9 800097E7 8000AD88 8000EAD6 8000EE01 8000EF18 8000F640 800128E0 80013AC2 80017D2D 8001589B 80017E3E 80018F54 80019449 8001B8C1 8001C40B 8001DED8 8001EA36 8001F4F2 800207B7 80020053 80020B4C 80020F6D 80021362
+RESET TYPE: REBOOT
+END DEVICE
+
+; ThinkSystem Intel E810-DA4 10/25GbE SFP28 4-port PCIe Ethernet Adapter
+BEGIN DEVICE
+DEVICENAME: Intel E810-DA4 10/25GbE SFP28 4-port PCIe Ethernet Adapter
+VENDOR: 8086
+DEVICE: 1593
+SUBVENDOR: 8086
+SUBDEVICE: 4010
+IMAGE DOWNGRADE: TRUE
+NVM IMAGE:  4010-80021364.bin
+EEPID:  80021364
+REPLACES: 8000A31D 8000BCEC 8000EAD4 8000EDFD 8000EF1B 8000F646 800128E1 80013AC1 80017D5B 8001589C 80017E3F 80018F53 80019448 8001B8C4 8001C40E 8001DEDD 8001EA33 8001F4F4 800207B6 80020052 80020B4B 80020F6F 80021364
+RESET TYPE: REBOOT
+END DEVICE
+
+; ThinkSystem Intel E810-DA4 10/25GbE SFP28 4-port OCP Ethernet Adapter
+BEGIN DEVICE
+DEVICENAME: Intel E810-DA4 10/25GbE SFP28 4-port OCP Ethernet Adapter
+VENDOR: 8086
+DEVICE: 1593
+SUBVENDOR: 8086
+SUBDEVICE: 4013
+IMAGE DOWNGRADE: TRUE
+NVM IMAGE:  4013-80021363.bin
+EEPID:  80021363
+REPLACES: 8000A31F 8000BCEB 8000EAD2 8000EDFF 8000EF19 8000F645 8001446A 800128E2 80013E0D 8001589A 80017F33 80017E43 80018F61 8001944A 8001B8C5 8001C40D 8001DEDC 8001EA35 8001F4F5 800207B4 80020054 80020B4A 80020F6B 80021363
+RESET TYPE: REBOOT
+END DEVICE
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/files/source_manifest.txt b/sysutils/intel-nvmupdate-e810-lenovo/files/source_manifest.txt
new file mode 100644
index 000000000000..6678ffc31670
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/files/source_manifest.txt
@@ -0,0 +1,16 @@
+Lenovo AnyOS package:
+  intc-lnvgy_fw_nic_net.e800-4.90-1.3897.0-ja0cn-0262_anyos_comp.zip
+  SHA256 1d7dc96b1c8fded693d6ae370d60111dd11d90e743190e3065700c14861a64f7
+
+Installed NVM images:
+  8086:159b:8086:4002  EEPID 80021365
+    SHA256 fe18c2c778532a0564f7b1d68fce71ab54d1e4c594ba33f42e06959a17f6563a
+  8086:159b:8086:4003  EEPID 80021362
+    SHA256 37db7702c39d172f6b20372f8c4c57f708e30ffcf9e73a2ed4f214577f5db79f
+  8086:1593:8086:4010  EEPID 80021364
+    SHA256 156b373d050ec6fdc11059fc2d3c0074dc63f7788d42b9845b213875229e98ec
+  8086:1593:8086:4013  EEPID 80021363
+    SHA256 9b0c4dbc37e26bfaac048cdaa289cde41d632ddd37b88fef99a9573e30b974e0
+
+The four payload hashes match Lenovo's first-party per-adapter packages.
+The firmware images are cryptographically signed for validation by the NIC.
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/pkg-descr b/sysutils/intel-nvmupdate-e810-lenovo/pkg-descr
new file mode 100644
index 000000000000..4d9ac34555a5
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/pkg-descr
@@ -0,0 +1,5 @@
+This package combines Lenovo's E810 AnyOS firmware bundle with Intel's FreeBSD
+NVMUpdate utility.  Its combined configuration retains all four adapters in
+Lenovo's bundle: E810-DA2 OCP, E810-DA2 PCIe, E810-DA4 PCIe, and E810-DA4 OCP.
+The full Lenovo ETrack replacement histories are included so older supported
+NVM revisions remain eligible for update.
diff --git a/sysutils/intel-nvmupdate-e810-lenovo/pkg-plist b/sysutils/intel-nvmupdate-e810-lenovo/pkg-plist
new file mode 100644
index 000000000000..4b4194c45031
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e810-lenovo/pkg-plist
@@ -0,0 +1,24 @@
+intel-nvmupdate-e810-lenovo/4002-AF-80021365.bin
+intel-nvmupdate-e810-lenovo/4003-80021362.bin
+intel-nvmupdate-e810-lenovo/4010-80021364.bin
+intel-nvmupdate-e810-lenovo/4013-80021363.bin
+intel-nvmupdate-e810-lenovo/Intel_Proprietary_License.pdf
+intel-nvmupdate-e810-lenovo/Intel_firmware_license.txt
+intel-nvmupdate-e810-lenovo/LenovoChg.chg
+intel-nvmupdate-e810-lenovo/LenovoReadme.txt
+intel-nvmupdate-e810-lenovo/README.FreeBSD
+intel-nvmupdate-e810-lenovo/file_license.txt
+intel-nvmupdate-e810-lenovo/inventory-fam001.json
+intel-nvmupdate-e810-lenovo/inventory-fam002.json
+intel-nvmupdate-e810-lenovo/inventory-fam003.json
+intel-nvmupdate-e810-lenovo/inventory-fam004.json
+intel-nvmupdate-e810-lenovo/license.pdf
+intel-nvmupdate-e810-lenovo/license.txt
+intel-nvmupdate-e810-lenovo/nvmupdate.cfg
+intel-nvmupdate-e810-lenovo/nvmupdate64e
+intel-nvmupdate-e810-lenovo/signature-fam001.json
+intel-nvmupdate-e810-lenovo/signature-fam002.json
+intel-nvmupdate-e810-lenovo/signature-fam003.json
+intel-nvmupdate-e810-lenovo/signature-fam004.json
+intel-nvmupdate-e810-lenovo/source_manifest.txt
+sbin/nvmupdate-e810-lenovo
diff --git a/sysutils/intel-nvmupdate-e825-e830-dell/Makefile b/sysutils/intel-nvmupdate-e825-e830-dell/Makefile
new file mode 100644
index 000000000000..ccddb169d6e2
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e825-e830-dell/Makefile
@@ -0,0 +1,76 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	30.5.0.57
+CATEGORIES=	sysutils
+MASTER_SITES=	https://dl.dell.com/FOLDER14838807M/1/:dell \
+		https://downloadmirror.intel.com/923594/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-e825-e830-dell
+DISTFILES=	${DELL_DISTFILE}:dell \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for Dell Intel E825 and E830 adapters
+WWW=		https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=69TRD
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${INTEL_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${INTEL_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+FETCH_ARGS+=	--user-agent=Mozilla/5.0
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-e825-e830-dell
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+DELL_DISTFILE=	XR8720T_Network_Firmware_69TRD_WN64_30.5.0.57_A00.EXE
+INTEL_DISTFILE=	E830_E835_NVMUpdatePackage_v2_11_FreeBSD.tar.gz
+
+INTEL_WRKSRC=	${WRKDIR}/E830_E835/FreeBSDx64
+DELL_WRKSRC=	${WRKDIR}/dell
+NVMUPDATE_DIR=	intel-nvmupdate-e825-e830-dell
+
+INTEL_FILES=	Intel_Proprietary_License.pdf Intel_firmware_license.txt \
+		file_license.txt license.pdf license.txt
+DELL_FILES=	intel_version.txt nut_msg.txt nvminv.cfg nvmupdate.cfg
+NVM_FILES=	carter_flat.bin GNRD_QSFP_0.bin GNRD_QSFP_1.bin \
+		GNRD_QSFP_OEM_0.bin GNRD_QSFP_OEM_1.bin GNRD_SFP_0.bin \
+		GNRD_SFP_1.bin GNRD_SFP_OEM_0.bin GNRD_SFP_OEM_1.bin
+
+post-extract:
+	${MKDIR} ${DELL_WRKSRC}
+	${TAR} -xf ${DISTDIR}/${DELL_DISTFILE} -C ${DELL_WRKSRC}
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}
+.for f in ${INTEL_FILES}
+	${INSTALL_DATA} ${INTEL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+.for f in ${DELL_FILES}
+	${INSTALL_DATA} ${DELL_WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+.for f in ${NVM_FILES}
+	${INSTALL_DATA} ${DELL_WRKSRC}/payload/${f} \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+.endfor
+	${INSTALL_PROGRAM} ${INTEL_WRKSRC}/nvmupdate64e \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_SCRIPT} ${WRKDIR}/nvmupdate-e825-e830-dell \
+		${STAGEDIR}${PREFIX}/sbin/
+
+.include <bsd.port.mk>
diff --git a/sysutils/intel-nvmupdate-e825-e830-dell/distinfo b/sysutils/intel-nvmupdate-e825-e830-dell/distinfo
new file mode 100644
index 000000000000..bda6e27c1997
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e825-e830-dell/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788830353
+SHA256 (XR8720T_Network_Firmware_69TRD_WN64_30.5.0.57_A00.EXE) = c664570988c9deb0ed6aa30e902a61ececfb6948a3cd4827cce92df47be5cb9d
+SIZE (XR8720T_Network_Firmware_69TRD_WN64_30.5.0.57_A00.EXE) = 66708368
+SHA256 (E830_E835_NVMUpdatePackage_v2_11_FreeBSD.tar.gz) = 07b31215d7cec2dd98865c16852da555cbeca975f51b411d3fccbe57d2ad808d
+SIZE (E830_E835_NVMUpdatePackage_v2_11_FreeBSD.tar.gz) = 63592402
diff --git a/sysutils/intel-nvmupdate-e825-e830-dell/files/nvmupdate-e825-e830-dell.in b/sysutils/intel-nvmupdate-e825-e830-dell/files/nvmupdate-e825-e830-dell.in
new file mode 100644
index 000000000000..05beba1bf604
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e825-e830-dell/files/nvmupdate-e825-e830-dell.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%PREFIX%%/%%NVMUPDATE_DIR%% || exit 1
+exec ./nvmupdate64e "$@"
diff --git a/sysutils/intel-nvmupdate-e825-e830-dell/pkg-descr b/sysutils/intel-nvmupdate-e825-e830-dell/pkg-descr
new file mode 100644
index 000000000000..fcbb30a47bf9
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e825-e830-dell/pkg-descr
@@ -0,0 +1,4 @@
+This package combines Dell's Intel E825 and E830 firmware bundle with Intel's
+FreeBSD NVMUpdate utility.  It retains all nine device entries shipped in Dell
+package 69TRD: one E830-XXV-8 OCP adapter and eight E825-C SFP or QSFP entries
+covering both Dell and Intel subsystem IDs.
diff --git a/sysutils/intel-nvmupdate-e825-e830-dell/pkg-plist b/sysutils/intel-nvmupdate-e825-e830-dell/pkg-plist
new file mode 100644
index 000000000000..8316385ffd25
--- /dev/null
+++ b/sysutils/intel-nvmupdate-e825-e830-dell/pkg-plist
@@ -0,0 +1,20 @@
+intel-nvmupdate-e825-e830-dell/GNRD_QSFP_0.bin
+intel-nvmupdate-e825-e830-dell/GNRD_QSFP_1.bin
+intel-nvmupdate-e825-e830-dell/GNRD_QSFP_OEM_0.bin
+intel-nvmupdate-e825-e830-dell/GNRD_QSFP_OEM_1.bin
+intel-nvmupdate-e825-e830-dell/GNRD_SFP_0.bin
+intel-nvmupdate-e825-e830-dell/GNRD_SFP_1.bin
+intel-nvmupdate-e825-e830-dell/GNRD_SFP_OEM_0.bin
+intel-nvmupdate-e825-e830-dell/GNRD_SFP_OEM_1.bin
+intel-nvmupdate-e825-e830-dell/Intel_Proprietary_License.pdf
+intel-nvmupdate-e825-e830-dell/Intel_firmware_license.txt
+intel-nvmupdate-e825-e830-dell/carter_flat.bin
+intel-nvmupdate-e825-e830-dell/file_license.txt
+intel-nvmupdate-e825-e830-dell/intel_version.txt
+intel-nvmupdate-e825-e830-dell/license.pdf
+intel-nvmupdate-e825-e830-dell/license.txt
+intel-nvmupdate-e825-e830-dell/nut_msg.txt
+intel-nvmupdate-e825-e830-dell/nvminv.cfg
+intel-nvmupdate-e825-e830-dell/nvmupdate.cfg
+intel-nvmupdate-e825-e830-dell/nvmupdate64e
+sbin/nvmupdate-e825-e830-dell
diff --git a/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/Makefile b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/Makefile
new file mode 100644
index 000000000000..e703a7a7bd94
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/Makefile
@@ -0,0 +1,60 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	9.55.6.50.1.3866.0.4
+CATEGORIES=	sysutils
+MASTER_SITES=	https://download.lenovo.com/servers/mig/2026/01/12/63978/:lenovo \
+		https://downloadmirror.intel.com/923633/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-i210-i350-x550-700series-lenovo
+DISTFILES=	${LENOVO_DISTFILE}:lenovo \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for Lenovo Intel I210/I350/X550/700 Series adapters
+WWW=		https://datacentersupport.lenovo.com/us/en/downloads/ds578913
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${LENOVO_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${LENOVO_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-i210-i350-x550-700series-lenovo
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+LENOVO_DISTFILE=	intc-lnvgy_fw_nic_net-9.55-6.50-1.3866.0-4_linux_x86-64.bin
+INTEL_DISTFILE=		E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz
+
+INTEL_WRKSRC=		${WRKDIR}/E810/FreeBSDx64
+LENOVO_EXTRACT_ROOT=	${WRKDIR}/lenovo
+LENOVO_WRKSRC=		${LENOVO_EXTRACT_ROOT}/image
+NVMUPDATE_DIR=		intel-nvmupdate-i210-i350-x550-700series-lenovo
+
+post-extract:
+	${MKDIR} ${LENOVO_EXTRACT_ROOT}
+	${TAR} -xf ${DISTDIR}/${LENOVO_DISTFILE} -C ${LENOVO_EXTRACT_ROOT}
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}
+	cd ${LENOVO_WRKSRC} && ${COPYTREE_SHARE} . \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR} \
+		"! -name nvmupdate64e ! -name install-nvm-linux-x64-updated.sh"
+	${INSTALL_PROGRAM} ${INTEL_WRKSRC}/nvmupdate64e \
+		${STAGEDIR}${PREFIX}/${NVMUPDATE_DIR}/
+	${INSTALL_SCRIPT} ${WRKDIR}/nvmupdate-i210-i350-x550-700series-lenovo \
+		${STAGEDIR}${PREFIX}/sbin/
+
+.include <bsd.port.mk>
diff --git a/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/distinfo b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/distinfo
new file mode 100644
index 000000000000..237eaa380b98
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1788516808
+SHA256 (intc-lnvgy_fw_nic_net-9.55-6.50-1.3866.0-4_linux_x86-64.bin) = a1c82c3def34da66ed44c7c6e6ec59dca866557961d5a9a38d07562fd3e7be70
+SIZE (intc-lnvgy_fw_nic_net-9.55-6.50-1.3866.0-4_linux_x86-64.bin) = 16399945
+SHA256 (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = d32d055717cf0d745a9170066b0039769b9a7edcdb53bf1b9aa21c88d7a4fc38
+SIZE (E810_NVMUpdatePackage_v5_01_FreeBSD.tar.gz) = 50506169
diff --git a/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/files/nvmupdate-i210-i350-x550-700series-lenovo.in b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/files/nvmupdate-i210-i350-x550-700series-lenovo.in
new file mode 100644
index 000000000000..05beba1bf604
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/files/nvmupdate-i210-i350-x550-700series-lenovo.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%PREFIX%%/%%NVMUPDATE_DIR%% || exit 1
+exec ./nvmupdate64e "$@"
diff --git a/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-descr b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-descr
new file mode 100644
index 000000000000..d774fc225b19
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-descr
@@ -0,0 +1,7 @@
+This package combines Lenovo's Intel Ethernet firmware bundle with Intel's
+FreeBSD NVMUpdate utility.  It retains all 31 entries in Lenovo's
+configuration, including X550, X710, XXV710, X722, I350, and I210 entries.
+Some I350 and I210 entries update only the option ROM, exactly as supplied by
+Lenovo.
+
+Use nvmupdate-i210-i350-x550-700series-lenovo.
diff --git a/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-plist b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-plist
new file mode 100644
index 000000000000..35de4a0ff841
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i210-i350-x550-700series-lenovo/pkg-plist
@@ -0,0 +1,42 @@
+intel-nvmupdate-i210-i350-x550-700series-lenovo/000A-8000FF09.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/000D-8000DEE5.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/000F-8000FF0C.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/0021-80001745.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/0022-80001746.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/25G_HC_MAP.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4001-HC-8000FF0E.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4007-8000FF0B.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4009-8001019D.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4012-8000FF07.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4018-8000FF0D.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4019-8001019C.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4020-80004398.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4021-8000439C.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4022-80004399.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4023-8000439A.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4024-8000439B.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/4025-8000439E.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/BootIMG.3450.FLB
+intel-nvmupdate-i210-i350-x550-700series-lenovo/BootIMG.FLB
+intel-nvmupdate-i210-i350-x550-700series-lenovo/FLB-Source.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/FVL_MAP_Coyote.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/FVL_MAP_PLDM.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/FVL_T4_MAP.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/Intel_firmware_license.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/LenovoChg.chg
+intel-nvmupdate-i210-i350-x550-700series-lenovo/LenovoReadme.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/SGVL_MAP.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/T2L_MAP.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/X710-DA2_MAP.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/file_license.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/license.htm
+intel-nvmupdate-i210-i350-x550-700series-lenovo/license.pdf
+intel-nvmupdate-i210-i350-x550-700series-lenovo/license.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/nvmupdate.cfg
+intel-nvmupdate-i210-i350-x550-700series-lenovo/nvmupdate.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/nvmupdate64e
+intel-nvmupdate-i210-i350-x550-700series-lenovo/readme.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/v2.C.B.A.VER1285_021_FVL_XFI_SGMII_3_Speed_No_Swap_Startup_LineOff_LEDs_X557_AT4_B1_100220.bin
+intel-nvmupdate-i210-i350-x550-700series-lenovo/version.txt
+intel-nvmupdate-i210-i350-x550-700series-lenovo/x722_MAP.txt
+sbin/nvmupdate-i210-i350-x550-700series-lenovo
diff --git a/sysutils/intel-nvmupdate-i350-x550-700series-hpe/Makefile b/sysutils/intel-nvmupdate-i350-x550-700series-hpe/Makefile
new file mode 100644
index 000000000000..4b8dd3ed258e
--- /dev/null
+++ b/sysutils/intel-nvmupdate-i350-x550-700series-hpe/Makefile
@@ -0,0 +1,66 @@
+PORTNAME=	nvmupdate
+DISTVERSION=	1.37.0
+CATEGORIES=	sysutils
+MASTER_SITES=	https://downloads.linux.hpe.com/SDR/repo/fwpp-gen10/2026.07.00.00/:hpe \
+		https://downloadmirror.intel.com/920687/:intel
+PKGNAMEPREFIX=	intel-
+PKGNAMESUFFIX=	-i350-x550-700series-hpe
+DISTFILES=	${HPE_DISTFILE}:hpe \
+		${INTEL_DISTFILE}:intel
+EXTRACT_ONLY=	${INTEL_DISTFILE}
+
+MAINTAINER=	kbowling@FreeBSD.org
+COMMENT=	NVM update utility for HPE Intel I350/X550/700 Series adapters
+WWW=		https://downloads.linux.hpe.com/SDR/project/fwpp-gen10/
+
+LICENSE=	IFL IPL
+LICENSE_COMB=	multi
+
+LICENSE_NAME_IFL=	Intel Firmware License
+LICENSE_NAME_IPL=	Intel Proprietary License
+LICENSE_FILE_IFL=	${INTEL_WRKSRC}/Intel_firmware_license.txt
+LICENSE_FILE_IPL=	${INTEL_WRKSRC}/license.txt
+LICENSE_PERMS_IFL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE_PERMS_IPL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+IGNORE_DragonFly=	FreeBSD binary port
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	not supported on anything other than amd64
+
+NO_ARCH=	yes
+NO_ARCH_IGNORE=	nvmupdate64e
+NO_BUILD=	yes
+SUB_FILES=	nvmupdate-i350-x550-700series-hpe
+SUB_LIST=	NVMUPDATE_DIR=${NVMUPDATE_DIR}
+
+WRKSRC=		${WRKDIR}
+
+HPE_DISTFILE=	firmware-nic-intel-${DISTVERSION}-1.1.x86_64.rpm
+INTEL_DISTFILE=	700Series_NVMUpdatePackage_v9_57_FreeBSD.tar.gz
+
+INTEL_WRKSRC=		${WRKDIR}/700Series/FreeBSDx64
+HPE_EXTRACT_ROOT=	${WRKDIR}/hpe
+HPE_WRKSRC=		${HPE_EXTRACT_ROOT}/usr/lib/x86_64-linux-gnu/firmware-nic-intel-${DISTVERSION}-1.1/nic_fw
+NVMUPDATE_DIR=		intel-nvmupdate-i350-x550-700series-hpe
+
+INTEL_FILES=	Intel_Proprietary_License.pdf Intel_firmware_license.txt \
+		file_license.txt license.pdf license.txt
+
+post-extract:
+	${MKDIR} ${HPE_EXTRACT_ROOT}
+	${TAR} -xf ${DISTDIR}/${HPE_DISTFILE} -C ${HPE_EXTRACT_ROOT}
+
+do-install:
*** 222 LINES SKIPPED ***