File 0030-95iscsi-Autodetect-iSCSI-firmware.patch of Package dracut.376

From 096545d4d6a2c5bc142b4b924986307607d27469 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 5 May 2014 08:32:16 +0200
Subject: [PATCH] 95iscsi: Autodetect iSCSI firmware

Some iSCSI initiator present firmware information in
/sys/firmware/ibft or /sys/firmware/iscsi_bootX

Whenever we detect one of those directories we should assume
that the iSCSI devices should be activated.

Signed-off-by: Pavel Wieczorkiewicz <pwieczorkiewicz@suse.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 modules.d/95iscsi/module-setup.sh | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index 1b0f292..97e6e81 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -39,6 +39,22 @@ depends() {
 installkernel() {
     local _arch=$(uname -m)
 
+    install_ibft() {
+        # When iBFT / iscsi_boot is detected:
+        # - mark network as mandatory
+        # - specify firmware booting cmdline parameter
+
+        for d in /sys/firmware/* ; do
+            if [ -d ${d}/initiator ] ; then
+                echo "rd.neednet=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+                echo "rd.iscsi.firmware=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
+            fi
+        done
+    }
+
+    # Detect iBFT and perform mandatory steps
+    install_ibft
+
     instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
     hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
     iscsi_module_filter() {
-- 
1.8.4.5

openSUSE Build Service is sponsored by