Index: dracut-037/modules.d/95iscsi/module-setup.sh =================================================================== --- dracut-037.orig/modules.d/95iscsi/module-setup.sh 2014-03-19 17:16:08.000000000 +0100 +++ dracut-037/modules.d/95iscsi/module-setup.sh 2014-04-14 13:40:02.560200357 +0200 @@ -39,6 +39,22 @@ depends() { installkernel() { local _arch=$(uname -m) + install_ibft() { + local IBFT_NICS="ethernet" + local IBFT_ROOT="/sys/firmware/ibft" + + # When iBFT is detected: + # - mark network as mandatory + # - specify firmware booting cmdline parameter + if [ -d "${IBFT_ROOT}/${IBFT_NICS}"* ]; then + echo "rd.neednet=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf" + echo "rd.iscsi.firmware=1" >> "${initdir}/etc/cmdline.d/95iscsi.conf" + fi + } + + # 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() {