integ/ostree/initramfs-ostree/debian/patches/0018-Support-OOT-and-In-tre...

102 lines
4.7 KiB
Diff

From c357f75f321d4f1407db951e7482716acba7412f Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Sun, 3 Mar 2024 22:05:18 -0800
Subject: [PATCH 18/18] Support OOT and In-tree drivers switch
In order to select between the in-tree and OOT drivers, a cmdline
parameter multi-drivers-switch need be used. If cmdline parameter
multi-drivers-switch is set to cvl-4.0.1, the OOT drivers will be
loaded by "insmod" command before udevd is started, and that ensures
that the OOT drivers will be loaded rather than the in-tree drivers.
The default drivers will be the in-tree drivers if there is not
multi-drivers-switch in the cmdline parameters or it is not set
correct, because the out-of-tree drivers have been moved to the
"weak-updates" subdirectory, we would like them to have a lower
precedence/lower priority than the in-tree versions.
Note: The in-tree drivers will use the OOT drivers' ice.pkg file,
The version is 1.3.30.0. We will wait Intel's test result and give
feedback which DDP package should be used for the in-tree drivers,
and do the related update.
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
init-ostree-install.sh | 23 ++++++++++++-----------
init-ostree.sh | 23 ++++++++++++-----------
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/init-ostree-install.sh b/init-ostree-install.sh
index 092db4b..c9172de 100644
--- a/init-ostree-install.sh
+++ b/init-ostree-install.sh
@@ -478,18 +478,19 @@ do_mount_fs() {
}
network_modules() {
if grep -s -q '\smulti-drivers-switch=' /proc/cmdline ; then
- if [ -d /lib/modules/"$(uname -r)"/extra/ice-"${DRIVER_VERSION}" ]; then
- insmod /lib/modules/"$(uname -r)"/extra/ice-"${DRIVER_VERSION}"/ice.ko
- insmod /lib/modules/"$(uname -r)"/extra/i40e-"${DRIVER_VERSION}"/i40e.ko
- insmod /lib/modules/"$(uname -r)"/extra/iavf-"${DRIVER_VERSION}"/iavf.ko
- echo "Legacy NIC ${DRIVER_VERSION} drivers have been activated"
- elif [ -d /lib/modules/"$(uname -r)"/updates/ice-"${DRIVER_VERSION}" ]; then
- insmod /lib/modules/"$(uname -r)"/updates/ice-"${DRIVER_VERSION}"/ice.ko
- insmod /lib/modules/"$(uname -r)"/updates/i40e-"${DRIVER_VERSION}"/i40e.ko
- insmod /lib/modules/"$(uname -r)"/updates/iavf-"${DRIVER_VERSION}"/iavf.ko
- echo "NIC ${DRIVER_VERSION} drivers have been activated"
+ if [ -d /lib/modules/"$(uname -r)"/weak-updates/ice-"${DRIVER_VERSION}" ]; then
+ insmod /lib/modules/"$(uname -r)"/weak-updates/ice-"${DRIVER_VERSION}"/ice.ko
+ insmod /lib/modules/"$(uname -r)"/weak-updates/i40e-"${DRIVER_VERSION}"/i40e.ko
+ insmod /lib/modules/"$(uname -r)"/weak-updates/iavf-"${DRIVER_VERSION}"/iavf.ko
+ echo "OOT NIC ${DRIVER_VERSION} drivers have been activated"
+ else
+ ln -s /lib/firmware/updates/intel/ice/ddp/ice-*.pkg /lib/firmware/intel/ice/ddp/ice.pkg
+ echo "In-tree NIC drivers have been activated"
fi
- fi
+ else
+ ln -s /lib/firmware/updates/intel/ice/ddp/ice-*.pkg /lib/firmware/intel/ice/ddp/ice.pkg
+ echo "In-tree NIC drivers have been activated"
+ fi
}
disable_lvm() {
diff --git a/init-ostree.sh b/init-ostree.sh
index 32de301..c74f350 100644
--- a/init-ostree.sh
+++ b/init-ostree.sh
@@ -69,18 +69,19 @@ do_mount_fs() {
network_modules() {
if grep -s -q '\smulti-drivers-switch=' /proc/cmdline ; then
- if [ -d /lib/modules/"$(uname -r)"/extra/ice-"${DRIVER_VERSION}" ]; then
- insmod /lib/modules/"$(uname -r)"/extra/ice-"${DRIVER_VERSION}"/ice.ko
- insmod /lib/modules/"$(uname -r)"/extra/i40e-"${DRIVER_VERSION}"/i40e.ko
- insmod /lib/modules/"$(uname -r)"/extra/iavf-"${DRIVER_VERSION}"/iavf.ko
- echo "Legacy NIC ${DRIVER_VERSION} drivers have been activated"
- elif [ -d /lib/modules/"$(uname -r)"/updates/ice-"${DRIVER_VERSION}" ]; then
- insmod /lib/modules/"$(uname -r)"/updates/ice-"${DRIVER_VERSION}"/ice.ko
- insmod /lib/modules/"$(uname -r)"/updates/i40e-"${DRIVER_VERSION}"/i40e.ko
- insmod /lib/modules/"$(uname -r)"/updates/iavf-"${DRIVER_VERSION}"/iavf.ko
- echo "NIC ${DRIVER_VERSION} drivers have been activated"
+ if [ -d /lib/modules/"$(uname -r)"/weak-updates/ice-"${DRIVER_VERSION}" ]; then
+ insmod /lib/modules/"$(uname -r)"/weak-updates/ice-"${DRIVER_VERSION}"/ice.ko
+ insmod /lib/modules/"$(uname -r)"/weak-updates/i40e-"${DRIVER_VERSION}"/i40e.ko
+ insmod /lib/modules/"$(uname -r)"/weak-updates/iavf-"${DRIVER_VERSION}"/iavf.ko
+ echo "OOT NIC ${DRIVER_VERSION} drivers have been activated"
+ else
+ ln -s /lib/firmware/updates/intel/ice/ddp/ice-*.pkg /lib/firmware/intel/ice/ddp/ice.pkg
+ echo "In-tree NIC drivers have been activated"
fi
- fi
+ else
+ ln -s /lib/firmware/updates/intel/ice/ddp/ice-*.pkg /lib/firmware/intel/ice/ddp/ice.pkg
+ echo "In-tree NIC drivers have been activated"
+ fi
}
disable_lvm() {
--
2.42.0