Skip to content

Commit ee434e6

Browse files
Add Intel ICE E800 series out-of-tree driver support to Hook (#5156)
1 parent 14912b8 commit ee434e6

7 files changed

+70
-12
lines changed

projects/tinkerbell/hook/CHECKSUMS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
0d91feb2b539b0cddde37768324dcc7688b6fe73df1382c23fd6bf777ecea46f _output/bin/hook/linux-amd64/hook-bootkit
2-
558be7035a0c2ddab32a882ace7c1abc01003dfe159f614b5a8ee5c627f2b229 _output/bin/hook/linux-amd64/hook-docker
3-
0fb5dcfbeb288e6bfabaf4d3e256cb515deb89805c25496c5c9d803609f5ada8 _output/bin/hook/linux-arm64/hook-bootkit
4-
6aedf11eedf832e20aa7b5a093528c689a00f6f01bdd1bcc06638cb38209caa3 _output/bin/hook/linux-arm64/hook-docker
1+
09ba5c0b44393a77805e83d1c0b1d3b5816f0d6e104099413ce0b6a22012ace1 _output/bin/hook/linux-amd64/hook-bootkit
2+
20efd595b9b435fa4ca86aeaec462643613cd9e063a8f6dcc1581810f7c8511b _output/bin/hook/linux-amd64/hook-docker
3+
adc0db57b8dc82a84f60aa6f84b544d096b66d43b0e11672d0d56a8b820cd76a _output/bin/hook/linux-arm64/hook-bootkit
4+
53e5bb7a3ca9a0c2cc569f4c5ccfbf1339547e00590bbf506e5184097435883b _output/bin/hook/linux-arm64/hook-docker
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Intel ICE driver for E800 series NICs
2+
# Set to module (m) to allow out-of-tree driver replacement
3+
CONFIG_ICE=m

projects/tinkerbell/hook/patches/0001-patches-build.sh-flow-for-linuxkit.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From 3241fea2d511d7aedd4f1faa30faab537a8eec2b Mon Sep 17 00:00:00 2001
1+
From 39cca7fb3950c812dc0f3dd527d84d224a70c963 Mon Sep 17 00:00:00 2001
22
From: Rahul Ganesh <rahulgab@amazon.com>
33
Date: Wed, 22 Jan 2025 22:10:12 +0000
4-
Subject: [PATCH 1/4] patches build.sh flow for linuxkit
4+
Subject: [PATCH 1/5] patches build.sh flow for linuxkit
55

66
- do not require docker
77
- allow tag overrides for kernel and other images

projects/tinkerbell/hook/patches/0002-builds-kernel-from-al2.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From b3578594d6185a20a8cad42969681e4b216c3880 Mon Sep 17 00:00:00 2001
1+
From b8e9ad6fac97257fc12a05b13e0573568ca93a8f Mon Sep 17 00:00:00 2001
22
From: Jackson West <jgw@amazon.com>
33
Date: Mon, 15 Jul 2024 20:41:42 +0000
4-
Subject: [PATCH 2/4] builds kernel from al2
4+
Subject: [PATCH 2/5] builds kernel from al2
55

66
---
77
kernel/Dockerfile | 35 ++++++++++++++++++++++++++++-------

projects/tinkerbell/hook/patches/0003-use-tmpfs-for-var-lib-docker.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From dde7e3a1a5c9abfc9f5522da48e8726de1134099 Mon Sep 17 00:00:00 2001
1+
From 8586e02060c732bf65566f78d2b0bd597b382254 Mon Sep 17 00:00:00 2001
22
From: Prow Bot <prow@amazonaws.com>
33
Date: Thu, 29 Aug 2024 01:08:55 +0000
4-
Subject: [PATCH 3/4] use tmpfs for var/lib/docker
4+
Subject: [PATCH 3/5] use tmpfs for var/lib/docker
55

66
---
77
images/hook-embedded/pull-images.sh | 2 +-

projects/tinkerbell/hook/patches/0004-support-overriding-linuxkit-version-to-use-eksa-buil.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From cd047317b5f588a8d2032602c51ab8aa9c295679 Mon Sep 17 00:00:00 2001
1+
From fc06017f5ad4e76d757fc59d94370a8a902d0bf4 Mon Sep 17 00:00:00 2001
22
From: Prow Bot <prow@amazonaws.com>
33
Date: Mon, 7 Oct 2024 19:38:02 +0000
4-
Subject: [PATCH 4/4] support overriding linuxkit version to use eksa build
4+
Subject: [PATCH 4/5] support overriding linuxkit version to use eksa build
55

66
---
77
build.sh | 2 +-
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
From 310aa1765b50e7d0c18c832928e4e1ef7ecbfe63 Mon Sep 17 00:00:00 2001
2+
From: rajeshvenkata <eks-anywhere@amazon.com>
3+
Date: Mon, 16 Feb 2026 14:26:15 -0800
4+
Subject: [PATCH 5/5] Add Intel ICE E800 series out-of-tree driver support to
5+
Hook
6+
7+
---
8+
kernel/Dockerfile | 18 ++++++++++++++++--
9+
1 file changed, 16 insertions(+), 2 deletions(-)
10+
11+
diff --git a/kernel/Dockerfile b/kernel/Dockerfile
12+
index 4f04a73..f36a6c6 100644
13+
--- a/kernel/Dockerfile
14+
+++ b/kernel/Dockerfile
15+
@@ -19,7 +19,7 @@ FROM kernel-source-unpacked-${TARGETARCH} as kernel-source-unpacked
16+
17+
RUN set -x && yum -y update && \
18+
yum -y groupinstall "Development Tools" && \
19+
- yum -y install --allowerasing bc ncurses-devel openssl-devel gnupg2-full kmod flex bison xz && \
20+
+ yum -y install --allowerasing bc ncurses-devel openssl-devel gnupg2-full kmod flex bison xz which && \
21+
yum clean all && \
22+
rm -rf /var/cache/yum
23+
24+
@@ -89,13 +89,27 @@ RUN set -x && \
25+
cp System.map /out
26+
27+
28+
+# Intel ICE driver version for E800 series NICs (out-of-tree)
29+
+ARG ICE_VERSION=2.4.5
30+
+
31+
# Modules, from lib/modules go into kernel.tar (will be extracted in root filesystem by linuxkit)
32+
+# Also builds and installs out-of-tree Intel ICE driver for E800 series NIC support
33+
RUN set -x && \
34+
make -s -j"$(getconf _NPROCESSORS_ONLN)" INSTALL_MOD_PATH=/tmp/kernel-modules modules_install && \
35+
+ ( cd /tmp && \
36+
+ curl -sL "https://github.com/intel/ethernet-linux-ice/archive/refs/tags/v${ICE_VERSION}.tar.gz" | tar xz && \
37+
+ cd /tmp/ethernet-linux-ice-${ICE_VERSION}/src && \
38+
+ make KSRC=/linux INSTALL_MOD_PATH=/tmp/kernel-modules && \
39+
+ KVER=$(basename $(find /tmp/kernel-modules/lib/modules/ -mindepth 1 -maxdepth 1)) && \
40+
+ mkdir -p /tmp/kernel-modules/lib/modules/${KVER}/updates/drivers/net/ethernet/intel/ice && \
41+
+ cp ice.ko /tmp/kernel-modules/lib/modules/${KVER}/updates/drivers/net/ethernet/intel/ice/ && \
42+
+ rm -rf /tmp/ethernet-linux-ice-${ICE_VERSION} ) && \
43+
( DVER=$(basename $(find /tmp/kernel-modules/lib/modules/ -mindepth 1 -maxdepth 1)) && \
44+
cd /tmp/kernel-modules/lib/modules/$DVER && \
45+
rm -f build source ) && \
46+
- ( cd /tmp/kernel-modules && tar cf /out/kernel.tar . )
47+
+ ( KVER=$(basename $(find /tmp/kernel-modules/lib/modules/ -mindepth 1 -maxdepth 1)) && \
48+
+ depmod -b /tmp/kernel-modules ${KVER} && \
49+
+ cd /tmp/kernel-modules && tar cf /out/kernel.tar . )
50+
51+
# For arches that have DTB's, eg arm64; they go separately into dtbs.tar; for arches that don't (x86), an empty dtbs.tar is created
52+
RUN set -x && \
53+
--
54+
2.49.0
55+

0 commit comments

Comments
 (0)