On Thu, Nov 13, 2014 at 03:58:42PM +0800, WANG Chao wrote:
If iBFT (iscsi Boot Firmware Table) is configured, we don't have
to pass the
setup information to 2nd kernel. Because with cmdline argument
"rd.iscsi.ibft", dracut will automatically retrieve the setup information
from BIOS's ROM or network device's optional-ROM (not from HBA's firmware)
Add two functions to do the check. One is checking if we have
"rd.iscsi.ibft" or its equivalents specified in kernel cmdline. The other is
to check if the current iscsi session is iBFT.
Because I don't find a reliable way to tell if an iscsi session is using the
configurations from iBFT, I marked the second functions as "FIXME" and it
always returns false. That means we don't handle iBFT yet. In the future,
if someone is asking iBFT support, we can gather some data and finish the
work.
If we can't figure out if a connection is using iBFT or not, then we
should not have this patch.
I am Ccing Ewan and Andy Grover. May be they have an idea how to figure
out if a particular session/connection is using iBFT or not.
Thanks
Vivek
Signed-off-by: WANG Chao <chaowang(a)redhat.com>
---
dracut-module-setup.sh | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index bca21ea..780601a 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -422,6 +422,11 @@ kdump_is_iscsi_hw_session() {
return 0
}
+# FIXME: determine iBFT
+kdump_is_iscsi_ibft_session() {
+ return 1
+}
+
# kernel cmdline must contain these either of the following arguments
# for booting off hardware iSCSI:
# rd.iscsi.firmware[=1], iscsi_firmware
@@ -443,6 +448,27 @@ kdump_is_iscsi_hw_cmdline() {
return 1
}
+# kernel cmdline must contain these either of the following arguments
+# for booting off iBFT:
+# rd.iscsi.ibft[=1], ip=ibft
+kdump_is_iscsi_ibft_cmdline() {
+ local cmdline
+
+ cmdline="$(cat /proc/cmdline)"
+
+ for arg in $cmdline; do
+ case "$arg" in
+ "rd.iscsi.ibft" |\
+ "rd.iscsi.ibft=1" |\
+ "ip=ibft")
+ return 0
+ ;;
+ esac
+ done
+
+ return 1
+}
+
# No ibft handling yet.
kdump_setup_iscsi_device() {
local path=$1
--
1.9.3
_______________________________________________
kexec mailing list
kexec(a)lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/kexec