Re: [PATCH 11/33] 95iscsi: Autodetect iSCSI firmware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 11/20/14 at 03:56pm, Thomas Renninger wrote:
> From: Hannes Reinecke <hare@xxxxxxx>
> 
> 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.
> 
> Also incorporates SUSE patches:
> 0049:
> 95iscsi: Use 'ip=ibft' for ibft autoconfiguration
> 
> For iBFT autoconfiguration we should be setting 'ip=ibft'
> instead of rd.neednet. This should instruct dracut to only
> enable the iBFT interfaces and leave the rest alone.

I think,

/sys/firmware/ibft is created for iBFT if detected.
/sys/firmware/iscsi_bootX is created for hardware iSCSI if detected.

ip=ibft denotes we use iBFT, which is software based iscsi.
rd.iscsi.firmware denotes we use hardware iscsi.

Though "iscsistart -b" will handle both the cases, I don't think it's
good idea to mix these concepts.

One more thing, it seems ip=ibft is deprecated now and "rd.iscsi.ibft"
will take over.

Thanks
WANG Chao

> 
> References: bnc#879038
> 
> 0054:
> 95iscsi: update commandline printing
> 
> dracut has a separate callout 'cmdline' which should be used
> for printing out the generated commandline.
> 
> 
> Signed-off-by: Pavel Wieczorkiewicz <pwieczorkiewicz@xxxxxxxx>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
> Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
> ---
>  modules.d/95iscsi/module-setup.sh | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
> index 8b42d3e..5d2a39b 100755
> --- a/modules.d/95iscsi/module-setup.sh
> +++ b/modules.d/95iscsi/module-setup.sh
> @@ -28,6 +28,21 @@ check() {
>      return 0
>  }
>  
> +install_ibft() {
> +    # When iBFT / iscsi_boot is detected:
> +    # - Use 'ip=ibft' to set up iBFT network interface
> +    # - specify firmware booting cmdline parameter
> +
> +    for d in /sys/firmware/* ; do
> +        if [ -d ${d}/initiator ] ; then
> +            if [ ${d##*/} = "ibft" ] ; then
> +                echo -n "ip=ibft "
> +            fi
> +            echo -n "rd.iscsi.firmware=1"
> +        fi
> +    done
> +}
> +
>  # called by dracut
>  depends() {
>      echo network rootfs-block
> @@ -37,6 +52,12 @@ depends() {
>  installkernel() {
>      local _arch=$(uname -m)
>  
> +    # Detect iBFT and perform mandatory steps
> +    if [[ $hostonly_cmdline == "yes" ]] ; then
> +        install_ibft > "${initdir}/etc/cmdline.d/95iscsi.conf"
> +        echo >> "${initdir}/etc/cmdline.d/95iscsi.conf"
> +    fi
> +
>      instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi
>      hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs
>      iscsi_module_filter() {
> @@ -77,6 +98,11 @@ installkernel() {
>  }
>  
>  # called by dracut
> +cmdline() {
> +    install_ibft
> +}
> +
> +# called by dracut
>  install() {
>      inst_multiple umount iscsistart hostname iscsi-iname
>      inst_multiple -o iscsiuio
> -- 
> 1.8.5.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe initramfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux