[dracut GIT] branch, RHEL-6, updated. 0828d4c3574693ae80c217229e1bba6948dc9509

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

 



The branch, RHEL-6 has been updated
       via  0828d4c3574693ae80c217229e1bba6948dc9509 (commit)
       via  70dfe537d2167ebc7a32a2f42fe03cea40afb05b (commit)
       via  810270eb0012683068cab8cc44db0268be0994c3 (commit)
       via  aee0e169948e6fef1e688c9db36e68c044d2c282 (commit)
       via  d084697710e8905c9ddc45ac6489b05c67844f60 (commit)
       via  1d942b8875eb5a4d4340628553555f9c45c4f7f9 (commit)
      from  f8dd8dcf14fa3992a90fb4e631c248069fe8ea20 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0828d4c3574693ae80c217229e1bba6948dc9509
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Wed Dec 8 12:25:12 2010 +0100

    network: add iBFT interface configuration

diff --git a/dracut.8 b/dracut.8
index 1139f75..ce39061 100644
--- a/dracut.8
+++ b/dracut.8
@@ -247,12 +247,17 @@ This parameter can be specified multiple times.
 
 .SS Network
 .TP
-.BR ip= {dhcp|on|any|dhcp6|auto6}
+.BR ip= {dhcp|on|any|dhcp6|auto6|ibft}
 dhcp|on|any: get ip from dhcp server from all interfaces. If root=dhcp, 
 loop sequentially through all interfaces (eth0, eth1, ...) and use the first 
 with a valid DHCP root-path.
+.sp
+\fBauto6\fR: IPv6 autoconfiguration
+.sp
+\fBdhcp6\fR: IPv6 DHCP
+.sp
+\fBibft\fR: iBFT autoconfiguration
 
-auto6: do IPv6 autoconfiguration
 .TP
 .BR ip= <interface>:{dhcp|on|any|dhcp6|auto6}
 dhcp|on|any|dhcp6: get ip from dhcp server on a specific interface
diff --git a/modules.d/40network/ifup b/modules.d/40network/ifup
index 6ef1010..ebdaa3c 100755
--- a/modules.d/40network/ifup
+++ b/modules.d/40network/ifup
@@ -140,6 +140,8 @@ fi
 # looking for ip= lines
 for p in $(getargs ip=); do
     ip_to_var $p
+    # skip ibft
+    [ "$autoconf" = "ibft" ] && continue
 	
     # If this option isn't directed at our interface, skip it
     [ -n "$dev" ] && [ "$dev" != "$netif" ] && continue
diff --git a/modules.d/40network/install b/modules.d/40network/install
index 398d4e4..abfa7a5 100755
--- a/modules.d/40network/install
+++ b/modules.d/40network/install
@@ -7,8 +7,8 @@ inst "$moddir/dhclient.conf" "/etc/dhclient.conf"
 inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
 inst_hook pre-udev 60 "$moddir/net-genrules.sh"
 inst_hook cmdline 91 "$moddir/dhcp-root.sh"
-inst_hook cmdline 99 "$moddir/parse-ip-opts.sh"
-inst_hook cmdline 98 "$moddir/parse-bridge.sh"
+inst_hook cmdline 97 "$moddir/parse-bridge.sh"
+inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
 inst_hook cmdline 99 "$moddir/parse-ifname.sh"
 inst_hook pre-pivot 10 "$moddir/kill-dhclient.sh"
 
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
index a3c9597..8ec94bf 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -49,11 +49,43 @@ if [ -n "$NEEDBOOTDEV" ] ; then
     [ -z "$BOOTDEV" ] && die "Bootdev argument is empty"
 fi
 
+if [ "ibft" = "$(getarg ip=)" ]; then
+    modprobe ibft
+    num=0
+    (   
+	for iface in /sys/firmware/ibft/ethernet*; do
+	    [ -e ${iface}/mac ] || continue
+            ifname_mac=$(read a < ${iface}/mac; echo $a)
+	    [ -z "$ifname_mac" ] || continue
+            ifname_if=ibft$num
+	    num=$(( $num + 1 ))
+	    echo "ifname=$ifname_if:$ifname_mac"
+	    dev=$ifname_if
+
+	    dhcp=$(read a < ${iface}/dhcp; echo $a)
+	    if [ -n "$dhcp" ]; then
+		echo "ip=$dev:dhcp"
+	    else
+		ip=$(read a < ${iface}/ip-addr; echo $a)
+		gw=$(read a < ${iface}/gateway; echo $a)
+		mask=$(read a < ${iface}/subnet-mask; echo $a)
+		hostname=$(read a < ${iface}/hostname; echo $a)
+		echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
+	    fi
+	done
+    ) >> /etc/cmdline
+    # reread cmdline
+    unset CMDLINE
+fi
+
 # Check ip= lines
 # XXX Would be nice if we could errorcheck ip addresses here as well
 for p in $(getargs ip=); do
     ip_to_var $p
 
+    # skip ibft
+    [ "$autoconf" = "ibft" ] && continue
+
     # We need to have an ip= line for the specified bootdev
     [ -n "$NEEDBOOTDEV" ] && [ "$dev" = "$BOOTDEV" ] && BOOTDEVOK=1
 
commit 70dfe537d2167ebc7a32a2f42fe03cea40afb05b
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Tue Dec 7 16:55:06 2010 +0100

    fcoe: add EDD parsing

diff --git a/dracut.8 b/dracut.8
index 45d3295..1139f75 100644
--- a/dracut.8
+++ b/dracut.8
@@ -358,10 +358,10 @@ will read the iscsi parameter from the BIOS firmware
 
 .SS FCoE
 .TP
-.BR netroot= fcoe:<interface|MAC>:<dcb|nodcb>
-Try to connect to a FCoE SAN through the NIC specified by <interface> or <MAC>,
-for the second argument, currently only nodcb is supported. Note letters in
-the MAC-address must be lowercase!
+.BR fcoe=<edd|interface|MAC>:<dcb|nodcb>
+Try to connect to a FCoE SAN through the NIC specified by <interface> or <MAC> or EDD settings.
+Note letters in the MAC-address must be lowercase!
+This parameter can be specified multiple times.
 
 .SS NBD
 .TP
diff --git a/modules.d/95fcoe/install b/modules.d/95fcoe/install
index db08a34..d022f6c 100755
--- a/modules.d/95fcoe/install
+++ b/modules.d/95fcoe/install
@@ -9,5 +9,5 @@ inst vconfig
 mkdir -p "$initdir/var/lib/lldpad"
 
 inst "$moddir/fcoe-up" "/sbin/fcoe-up"
-inst_hook pre-udev 60 "$moddir/fcoe-genrules.sh"
+inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
 inst_hook cmdline 99 "$moddir/parse-fcoe.sh"
diff --git a/modules.d/95fcoe/installkernel b/modules.d/95fcoe/installkernel
index 5ce7ca8..61c3607 100755
--- a/modules.d/95fcoe/installkernel
+++ b/modules.d/95fcoe/installkernel
@@ -1,2 +1,2 @@
 #!/bin/bash
-instmods fcoe 8021q
+instmods fcoe 8021q edd
diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh
index 26a5a1a..52def0a 100755
--- a/modules.d/95fcoe/parse-fcoe.sh
+++ b/modules.d/95fcoe/parse-fcoe.sh
@@ -18,6 +18,9 @@
 # If it's not set we don't continue
 [ -z "$fcoe" ] && return
 
+# FCoE actually supported?
+[ -e /sys/module/fcoe/parameters/create ] || modprobe fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
+
 parse_fcoe_opts() {
     local IFS=:
     set $fcoe
@@ -26,22 +29,51 @@ parse_fcoe_opts() {
         2)
             fcoe_interface=$1
             fcoe_dcb=$2
+            return 0
             ;;
         7)
             fcoe_mac=$1:$2:$3:$4:$5:$6
             fcoe_dcb=$7
+            return 0
             ;;
         *)
-            die "Invalid arguments for fcoe="
+            warn "Invalid arguments for fcoe=$fcoe"
+            return 1
             ;;
     esac
 }
 
 parse_fcoe_opts
 
-if [ "$fcoe_dcb" != "nodcb" -a "$fcoe_dcb" != "dcb" ] ; then
-    die "Invalid FCoE DCB option: $fcoe_dcb"
+if [ "$fcoe_interface" = "edd" ]; then
+    if [ "$fcoe_dcb" != "nodcb" -a "$fcoe_dcb" != "dcb" ] ; then
+        warn "Invalid FCoE DCB option: $fcoe_dcb"
+    fi
+    [ -d /sys/firmware/edd ] || modprobe edd
+    # parse edd interfaces
+    for disk in /sys/firmware/edd/int13_*; do
+        [ -d $disk ] || continue
+        for nic in ${disk}/pci_dev/net/*; do
+            [ -d $nic ] || continue
+            if [ -e ${nic}/address ]; then
+                unset fcoe_mac
+                unset fcoe_interface
+                fcoe_mac=$(cat ${nic}/address)
+                [ -n "$fcoe_mac" ] && source /sbin/fcoe-genrules.sh
+            fi
+        done
+    done
+else
+    for fcoe in $(getargs fcoe=); do
+        unset fcoe_mac
+        unset fcoe_interface
+        parse_fcoe_opts
+        if [ "$fcoe_dcb" != "nodcb" -a "$fcoe_dcb" != "dcb" ] ; then
+            warn "Invalid FCoE DCB option: $fcoe_dcb"
+        fi
+        source /sbin/fcoe-genrules.sh
+    done
+else
+    warn "Invalid arguments for fcoe=$fcoe"
 fi
 
-# FCoE actually supported?
-[ -e /sys/module/fcoe/parameters/create ] || modprobe fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
commit 810270eb0012683068cab8cc44db0268be0994c3
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Tue Jul 20 11:23:14 2010 +0200

    multipath: install by default, but run only if wwids are present

diff --git a/modules.d/90multipath/check b/modules.d/90multipath/check
index cae2052..b1834b5 100755
--- a/modules.d/90multipath/check
+++ b/modules.d/90multipath/check
@@ -14,10 +14,12 @@ is_mpath() {
     return 1
 }
 
-# Do mpath if we appear to be using it for /
-rootdev=$(find_root_block_device)
-if [[ $rootdev ]]; then
-    check_block_and_slaves is_mpath "$rootdev" && exit 0
+if [[ $1 = -h ]]; then
+    rootdev=$(find_root_block_device)
+    if [[ $rootdev ]]; then
+        check_block_and_slaves is_mpath "$rootdev" && exit 0
+    fi
+    exit 1
 fi
 
-exit 1
+exit 0
\ No newline at end of file
diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
index e26ab84..c9a2b3f 100755
--- a/modules.d/90multipath/multipathd.sh
+++ b/modules.d/90multipath/multipathd.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-if [ -e /etc/multipath.conf ]; then
+if [ -e /etc/multipath.conf -a -e /etc/multipath/wwids ]; then
     modprobe dm-multipath
     multipathd
 else
commit aee0e169948e6fef1e688c9db36e68c044d2c282
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Mon Dec 6 16:20:43 2010 +0100

    multipath/install: install the complete /etc/multipath directory
    
    Resolves: rhbz#630911

diff --git a/modules.d/90multipath/install b/modules.d/90multipath/install
index ed2d698..c7774e9 100755
--- a/modules.d/90multipath/install
+++ b/modules.d/90multipath/install
@@ -16,7 +16,7 @@ for f in  \
     /sbin/xdrgetprio \
     /etc/xdrdevices.conf \
     /etc/multipath.conf \
-    /etc/multipath/wwids \
+    /etc/multipath/* \
     $(ls $LIBDIR/libmultipath* $LIBDIR/multipath/* 2>/dev/null) \
     	;do
     [ -e "$f" ] && inst "$f"
commit d084697710e8905c9ddc45ac6489b05c67844f60
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Tue Dec 7 15:35:08 2010 +0100

    mkinitrd-dracut.sh: add "--force"
    
    Resolves: rhbz#626389
    
    Conflicts:
    
    	mkinitrd-dracut.sh

diff --git a/mkinitrd-dracut.sh b/mkinitrd-dracut.sh
index dd745d7..b6b8a34 100644
--- a/mkinitrd-dracut.sh
+++ b/mkinitrd-dracut.sh
@@ -68,7 +68,7 @@ while [ $# -gt 0 ]; do
         -v|--verbose)
             dracut_args="${dracut_args} -v"
             ;;
-        -f)
+        -f|--force)
             dracut_args="${dracut_args} -f"
             ;;
         --preload*)
commit 1d942b8875eb5a4d4340628553555f9c45c4f7f9
Author: Harald Hoyer <harald@xxxxxxxxxx>
Date:   Tue Aug 10 15:54:03 2010 +0200

    dracut-functions: filter_kernel_modules() search in extra dirs
    
    search also in "extra" and "weak-updates" for kernel modules
    https://bugzilla.redhat.com/show_bug.cgi?id=622641

diff --git a/dracut-functions b/dracut-functions
index a9b763e..99e0c2e 100755
--- a/dracut-functions
+++ b/dracut-functions
@@ -463,7 +463,7 @@ for_each_kmod_dep() {
 # This function returns the full filenames of modules that match $1
 filter_kernel_modules () (
     if ! [[ $hostonly ]]; then
-        filtercmd='find "$srcmods/kernel/drivers" "$srcmods/extra" "$srcmods/weak-updates" -name "*.ko" -o -name "*.ko.gz" 2>/dev/null'
+        filtercmd='find "$srcmods/kernel/drivers" "$srcmods/updates" "$srcmods/extra" "$srcmods/weak-updates" -name "*.ko" -o -name "*.ko.gz" 2>/dev/null'
     else
 	filtercmd='cut -d " " -f 1 </proc/modules|xargs modinfo -F filename -k $kernel'
     fi
-----------------------------------------------------------------------

Summary of changes:
 dracut-functions                     |    2 +-
 dracut.8                             |   17 +++++++++-----
 mkinitrd-dracut.sh                   |    2 +-
 modules.d/40network/ifup             |    2 +
 modules.d/40network/install          |    4 +-
 modules.d/40network/parse-ip-opts.sh |   32 +++++++++++++++++++++++++
 modules.d/90multipath/check          |   12 +++++----
 modules.d/90multipath/install        |    2 +-
 modules.d/90multipath/multipathd.sh  |    2 +-
 modules.d/95fcoe/install             |    2 +-
 modules.d/95fcoe/installkernel       |    2 +-
 modules.d/95fcoe/parse-fcoe.sh       |   42 +++++++++++++++++++++++++++++----
 12 files changed, 97 insertions(+), 24 deletions(-)


-- 
dracut - Initramfs generator using udev
--
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