[PATCH 2/3] module-setup: add two functions to determine iBFT

Vivek Goyal vgoyal at redhat.com
Mon Nov 24 22:35:13 UTC 2014


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 at 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 at lists.fedoraproject.org
> https://lists.fedoraproject.org/mailman/listinfo/kexec


More information about the kexec mailing list