Index: dracut-036/modules.d/45ifcfg/module-setup.sh =================================================================== --- dracut-036.orig/modules.d/45ifcfg/module-setup.sh 2014-03-04 18:09:39.084659676 +0100 +++ dracut-036/modules.d/45ifcfg/module-setup.sh 2014-03-04 18:10:43.641663629 +0100 @@ -4,7 +4,13 @@ # called by dracut check() { - [[ -d /etc/sysconfig/network-scripts ]] && return 0 + local link=$(readlink $moddir/write-ifcfg.sh) + [[ "$link" = "write-ifcfg-suse.sh" ]] && \ + [[ -d /etc/sysconfig/network ]] && \ + return 0 + [[ "$link" = "write-ifcfg-redhat.sh" ]] && \ + [[ -d /etc/sysconfig/network-scripts ]] && \ + return 0 return 255 } Index: dracut-036/modules.d/45ifcfg/write-ifcfg.sh =================================================================== --- dracut-036.orig/modules.d/45ifcfg/write-ifcfg.sh 2014-03-04 18:09:39.084659676 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,270 +0,0 @@ -#!/bin/sh -# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# ex: ts=8 sw=4 sts=4 et filetype=sh - -# NFS root might have reached here before /tmp/net.ifaces was written -udevadm settle --timeout=30 - -if [ -e /tmp/bridge.info ]; then - . /tmp/bridge.info -fi - -if [ -e /tmp/vlan.info ]; then - . /tmp/vlan.info -fi - -mkdir -m 0755 -p /tmp/ifcfg/ -mkdir -m 0755 -p /tmp/ifcfg-leases/ - -get_config_line_by_subchannel() -{ - local CHANNEL - local line - - CHANNELS="$1" - while read line; do - if strstr "$line" "$CHANNELS"; then - echo $line - return 0 - fi - done < /etc/ccw.conf - return 1 -} - -print_s390() { - local _netif - local SUBCHANNELS - local OPTIONS - local NETTYPE - local CONFIG_LINE - local i - local channel - local OLD_IFS - - _netif="$1" - # if we find ccw channel, then use those, instead of - # of the MAC - SUBCHANNELS=$({ - for i in /sys/class/net/$_netif/device/cdev[0-9]*; do - [ -e $i ] || continue - channel=$(readlink -f $i) - echo -n "${channel##*/}," - done - }) - [ -n "$SUBCHANNELS" ] || return 1 - - SUBCHANNELS=${SUBCHANNELS%,} - echo "SUBCHANNELS=\"${SUBCHANNELS}\"" - CONFIG_LINE=$(get_config_line_by_subchannel $SUBCHANNELS) - - [ $? -ne 0 -o -z "$CONFIG_LINE" ] && return - - OLD_IFS=$IFS - IFS="," - set -- $CONFIG_LINE - IFS=$OLD_IFS - NETTYPE=$1 - shift - SUBCHANNELS="$1" - OPTIONS="" - shift - while [ $# -gt 0 ]; do - case $1 in - *=*) OPTIONS="$OPTIONS $1";; - esac - shift - done - OPTIONS=${OPTIONS## } - echo "NETTYPE=\"${NETTYPE}\"" - echo "OPTIONS=\"${OPTIONS}\"" -} - -for netup in /tmp/net.*.did-setup ; do - [ -f $netup ] || continue - - netif=${netup%%.did-setup} - netif=${netif##*/net.} - [ -e /tmp/ifcfg/ifcfg-$netif ] && continue - unset bridge - unset bond - unset bondslaves - unset bondname - unset bondoptions - unset uuid - unset ip - unset gw - unset mtu - unset mask - unset macaddr - unset slave - unset ethname - [ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info - - uuid=$(cat /proc/sys/kernel/random/uuid) - if [ "$netif" = "$bridgename" ]; then - bridge=yes - elif [ "$netif" = "$bondname" ]; then - # $netif can't be bridge and bond at the same time - bond=yes - fi - if [ "$netif" = "$vlanname" ]; then - vlan=yes - fi - cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr - { - echo "# Generated by dracut initrd" - echo "DEVICE=\"$netif\"" - echo "ONBOOT=yes" - echo "NETBOOT=yes" - echo "UUID=\"$uuid\"" - if [ -f /tmp/dhclient.$netif.lease ]; then - [ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts - strstr "$ip" '*:*:*' && echo "IPV6INIT=yes" - if [ -f /tmp/net.$netif.has_ibft_config ]; then - echo "BOOTPROTO=ibft" - else - echo "BOOTPROTO=dhcp" - fi - cp /tmp/dhclient.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease - else - # If we've booted with static ip= lines, the override file is there - [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override - if strstr "$ip" '*:*:*'; then - echo "IPV6INIT=yes" - echo "IPV6_AUTOCONF=no" - echo "IPV6ADDR=\"$ip/$mask\"" - else - if [ -f /tmp/net.$netif.has_ibft_config ]; then - echo "BOOTPROTO=ibft" - else - echo "BOOTPROTO=none" - echo "IPADDR=\"$ip\"" - if strstr "$mask" "."; then - echo "NETMASK=\"$mask\"" - else - echo "PREFIX=\"$mask\"" - fi - fi - fi - if strstr "$gw" '*:*:*'; then - echo "IPV6_DEFAULTGW=\"$gw\"" - elif [ -n "$gw" ]; then - echo "GATEWAY=\"$gw\"" - fi - fi - [ -n "$mtu" ] && echo "MTU=\"$mtu\"" - } > /tmp/ifcfg/ifcfg-$netif - - # bridge needs different things written to ifcfg - if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then - # standard interface - { - if [ -n "$macaddr" ]; then - echo "MACADDR=\"$macaddr\"" - else - echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" - fi - print_s390 $netif - echo "TYPE=Ethernet" - echo "NAME=\"$netif\"" - [ -n "$mtu" ] && echo "MTU=\"$mtu\"" - } >> /tmp/ifcfg/ifcfg-$netif - fi - - if [ -n "$vlan" ] ; then - { - echo "TYPE=Vlan" - echo "NAME=\"$netif\"" - echo "VLAN=yes" - echo "PHYSDEV=\"$phydevice\"" - } >> /tmp/ifcfg/ifcfg-$netif - fi - - if [ -n "$bond" ] ; then - # bond interface - { - # This variable is an indicator of a bond interface for initscripts - echo "BONDING_OPTS=\"$bondoptions\"" - echo "NAME=\"$netif\"" - echo "TYPE=Bond" - } >> /tmp/ifcfg/ifcfg-$netif - - for slave in $bondslaves ; do - # write separate ifcfg file for the raw eth interface - { - echo "# Generated by dracut initrd" - echo "DEVICE=\"$slave\"" - echo "TYPE=Ethernet" - echo "ONBOOT=yes" - echo "NETBOOT=yes" - echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" - echo "SLAVE=yes" - echo "MASTER=\"$netif\"" - echo "NAME=\"$slave\"" - } >> /tmp/ifcfg/ifcfg-$slave - done - fi - - if [ -n "$bridge" ] ; then - # bridge - { - echo "TYPE=Bridge" - echo "NAME=\"$netif\"" - } >> /tmp/ifcfg/ifcfg-$netif - if [ "$ethname" = "$bondname" ] ; then - { - echo "# Generated by dracut initrd" - echo "DEVICE=\"$bondname\"" - echo "ONBOOT=yes" - echo "NETBOOT=yes" - # This variable is an indicator of a bond interface for initscripts - echo "BONDING_OPTS=\"$bondoptions\"" - echo "BRIDGE=\"$netif\"" - echo "NAME=\"$bondname\"" - } >> /tmp/ifcfg/ifcfg-$bondname - for slave in $bondslaves ; do - # write separate ifcfg file for the raw eth interface - { - echo "# Generated by dracut initrd" - echo "DEVICE=\"$slave\"" - echo "TYPE=Ethernet" - echo "ONBOOT=yes" - echo "NETBOOT=yes" - echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" - echo "SLAVE=yes" - echo "MASTER=\"$bondname\"" - echo "NAME=\"$slave\"" - } >> /tmp/ifcfg/ifcfg-$slave - done - else - # write separate ifcfg file for the raw eth interface - { - echo "# Generated by dracut initrd" - echo "DEVICE=\"$ethname\"" - echo "TYPE=Ethernet" - echo "ONBOOT=yes" - echo "NETBOOT=yes" - echo "HWADDR=\"$(cat /sys/class/net/$ethname/address)\"" - echo "BRIDGE=\"$netif\"" - echo "NAME=\"$ethname\"" - } >> /tmp/ifcfg/ifcfg-$ethname - fi - fi - i=1 - for ns in $(getargs nameserver); do - echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif - i=$((i+1)) - done -done - -# Pass network opts -mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts -mkdir -m 0755 -p /run/initramfs/state/var/lib/dhclient -echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab -echo "files /var/lib/dhclient" >> /run/initramfs/rwtab -{ - cp /tmp/net.* /run/initramfs/ - cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf - copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts - cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient -} > /dev/null 2>&1 Index: dracut-036/modules.d/45ifcfg/write-ifcfg-redhat.sh =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ dracut-036/modules.d/45ifcfg/write-ifcfg-redhat.sh 2014-03-04 18:10:43.643663629 +0100 @@ -0,0 +1,270 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +# NFS root might have reached here before /tmp/net.ifaces was written +udevadm settle --timeout=30 + +if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +fi + +if [ -e /tmp/vlan.info ]; then + . /tmp/vlan.info +fi + +mkdir -m 0755 -p /tmp/ifcfg/ +mkdir -m 0755 -p /tmp/ifcfg-leases/ + +get_config_line_by_subchannel() +{ + local CHANNEL + local line + + CHANNELS="$1" + while read line; do + if strstr "$line" "$CHANNELS"; then + echo $line + return 0 + fi + done < /etc/ccw.conf + return 1 +} + +print_s390() { + local _netif + local SUBCHANNELS + local OPTIONS + local NETTYPE + local CONFIG_LINE + local i + local channel + local OLD_IFS + + _netif="$1" + # if we find ccw channel, then use those, instead of + # of the MAC + SUBCHANNELS=$({ + for i in /sys/class/net/$_netif/device/cdev[0-9]*; do + [ -e $i ] || continue + channel=$(readlink -f $i) + echo -n "${channel##*/}," + done + }) + [ -n "$SUBCHANNELS" ] || return 1 + + SUBCHANNELS=${SUBCHANNELS%,} + echo "SUBCHANNELS=\"${SUBCHANNELS}\"" + CONFIG_LINE=$(get_config_line_by_subchannel $SUBCHANNELS) + + [ $? -ne 0 -o -z "$CONFIG_LINE" ] && return + + OLD_IFS=$IFS + IFS="," + set -- $CONFIG_LINE + IFS=$OLD_IFS + NETTYPE=$1 + shift + SUBCHANNELS="$1" + OPTIONS="" + shift + while [ $# -gt 0 ]; do + case $1 in + *=*) OPTIONS="$OPTIONS $1";; + esac + shift + done + OPTIONS=${OPTIONS## } + echo "NETTYPE=\"${NETTYPE}\"" + echo "OPTIONS=\"${OPTIONS}\"" +} + +for netup in /tmp/net.*.did-setup ; do + [ -f $netup ] || continue + + netif=${netup%%.did-setup} + netif=${netif##*/net.} + [ -e /tmp/ifcfg/ifcfg-$netif ] && continue + unset bridge + unset bond + unset bondslaves + unset bondname + unset bondoptions + unset uuid + unset ip + unset gw + unset mtu + unset mask + unset macaddr + unset slave + unset ethname + [ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info + + uuid=$(cat /proc/sys/kernel/random/uuid) + if [ "$netif" = "$bridgename" ]; then + bridge=yes + elif [ "$netif" = "$bondname" ]; then + # $netif can't be bridge and bond at the same time + bond=yes + fi + if [ "$netif" = "$vlanname" ]; then + vlan=yes + fi + cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr + { + echo "# Generated by dracut initrd" + echo "DEVICE=\"$netif\"" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "UUID=\"$uuid\"" + if [ -f /tmp/dhclient.$netif.lease ]; then + [ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts + strstr "$ip" '*:*:*' && echo "IPV6INIT=yes" + if [ -f /tmp/net.$netif.has_ibft_config ]; then + echo "BOOTPROTO=ibft" + else + echo "BOOTPROTO=dhcp" + fi + cp /tmp/dhclient.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease + else + # If we've booted with static ip= lines, the override file is there + [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override + if strstr "$ip" '*:*:*'; then + echo "IPV6INIT=yes" + echo "IPV6_AUTOCONF=no" + echo "IPV6ADDR=\"$ip/$mask\"" + else + if [ -f /tmp/net.$netif.has_ibft_config ]; then + echo "BOOTPROTO=ibft" + else + echo "BOOTPROTO=none" + echo "IPADDR=\"$ip\"" + if strstr "$mask" "."; then + echo "NETMASK=\"$mask\"" + else + echo "PREFIX=\"$mask\"" + fi + fi + fi + if strstr "$gw" '*:*:*'; then + echo "IPV6_DEFAULTGW=\"$gw\"" + elif [ -n "$gw" ]; then + echo "GATEWAY=\"$gw\"" + fi + fi + [ -n "$mtu" ] && echo "MTU=\"$mtu\"" + } > /tmp/ifcfg/ifcfg-$netif + + # bridge needs different things written to ifcfg + if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then + # standard interface + { + if [ -n "$macaddr" ]; then + echo "MACADDR=\"$macaddr\"" + else + echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" + fi + print_s390 $netif + echo "TYPE=Ethernet" + echo "NAME=\"$netif\"" + [ -n "$mtu" ] && echo "MTU=\"$mtu\"" + } >> /tmp/ifcfg/ifcfg-$netif + fi + + if [ -n "$vlan" ] ; then + { + echo "TYPE=Vlan" + echo "NAME=\"$netif\"" + echo "VLAN=yes" + echo "PHYSDEV=\"$phydevice\"" + } >> /tmp/ifcfg/ifcfg-$netif + fi + + if [ -n "$bond" ] ; then + # bond interface + { + # This variable is an indicator of a bond interface for initscripts + echo "BONDING_OPTS=\"$bondoptions\"" + echo "NAME=\"$netif\"" + echo "TYPE=Bond" + } >> /tmp/ifcfg/ifcfg-$netif + + for slave in $bondslaves ; do + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" + echo "DEVICE=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" + echo "SLAVE=yes" + echo "MASTER=\"$netif\"" + echo "NAME=\"$slave\"" + } >> /tmp/ifcfg/ifcfg-$slave + done + fi + + if [ -n "$bridge" ] ; then + # bridge + { + echo "TYPE=Bridge" + echo "NAME=\"$netif\"" + } >> /tmp/ifcfg/ifcfg-$netif + if [ "$ethname" = "$bondname" ] ; then + { + echo "# Generated by dracut initrd" + echo "DEVICE=\"$bondname\"" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + # This variable is an indicator of a bond interface for initscripts + echo "BONDING_OPTS=\"$bondoptions\"" + echo "BRIDGE=\"$netif\"" + echo "NAME=\"$bondname\"" + } >> /tmp/ifcfg/ifcfg-$bondname + for slave in $bondslaves ; do + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" + echo "DEVICE=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" + echo "SLAVE=yes" + echo "MASTER=\"$bondname\"" + echo "NAME=\"$slave\"" + } >> /tmp/ifcfg/ifcfg-$slave + done + else + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" + echo "DEVICE=\"$ethname\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "HWADDR=\"$(cat /sys/class/net/$ethname/address)\"" + echo "BRIDGE=\"$netif\"" + echo "NAME=\"$ethname\"" + } >> /tmp/ifcfg/ifcfg-$ethname + fi + fi + i=1 + for ns in $(getargs nameserver); do + echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif + i=$((i+1)) + done +done + +# Pass network opts +mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts +mkdir -m 0755 -p /run/initramfs/state/var/lib/dhclient +echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab +echo "files /var/lib/dhclient" >> /run/initramfs/rwtab +{ + cp /tmp/net.* /run/initramfs/ + cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf + copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts + cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient +} > /dev/null 2>&1 Index: dracut-036/modules.d/45ifcfg/write-ifcfg-suse.sh =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ dracut-036/modules.d/45ifcfg/write-ifcfg-suse.sh 2014-03-04 18:10:43.643663629 +0100 @@ -0,0 +1,183 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +# NFS root might have reached here before /tmp/net.ifaces was written +udevadm settle --timeout=30 + +if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +fi + +if [ -e /tmp/vlan.info ]; then + . /tmp/vlan.info +fi + +mkdir -m 0755 -p /tmp/ifcfg/ +mkdir -m 0755 -p /tmp/ifcfg-leases/ + +get_vid() { + case "$1" in + vlan*) + echo ${1#vlan} + ;; + *.*) + echo ${1##*.} + ;; + esac +} + +for netup in /tmp/net.*.did-setup ; do + [ -f $netup ] || continue + + netif=${netup%%.did-setup} + netif=${netif##*/net.} + [ -e /tmp/ifcfg/ifcfg-$netif ] && continue + unset bridge + unset bond + unset bondslaves + unset bondname + unset bondoptions + unset uuid + unset ip + unset gw + unset mtu + unset mask + unset macaddr + unset slave + unset ethname + [ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info + + uuid=$(cat /proc/sys/kernel/random/uuid) + if [ "$netif" = "$bridgename" ]; then + bridge=yes + elif [ "$netif" = "$bondname" ]; then + # $netif can't be bridge and bond at the same time + bond=yes + fi + if [ "$netif" = "$vlanname" ]; then + vlan=yes + fi + cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr + { + echo "# Generated by dracut initrd" + echo "NAME='$netif'" + if [ -f /tmp/net.$netif.has_ibft_config ]; then + echo "STARTMODE='nfsroot'" + else + echo "STARTMODE='auto'" + fi + + local bootproto="static" + if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv6 ]; then + bootproto="dhcp6" + fi + if [ -f /tmp/leaseinfo.${netif}.dhcp.ipv4 ]; then + if [ "$bootproto" = "dhcp6" ]; then + bootproto="dhcp" + else + bootproto="dhcp4" + fi + fi + + echo "BOOTPROTO='$bootproto'" + + if [ "$bootproto" = "static" ]; then + # If we've booted with static ip= lines, the override file is there + [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override + echo "IPADDR='$ip'" + if [ -n "$mask" ]; then + if strstr "$mask" "."; then + echo "NETMASK='$mask'" + else + echo "PREFIXLEN='$mask'" + fi + fi + if [ -n "$gw" ]; then + echo "GATEWAY='$gw'" + fi + fi + [ -n "$mtu" ] && echo "MTU='$mtu'" + } > /tmp/ifcfg/ifcfg-$netif + + # bridge needs different things written to ifcfg + if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then + # standard interface + { + if [ -n "$macaddr" ]; then + echo "LLADDR='$macaddr'" + else + echo "LLADDR='$(cat /sys/class/net/$netif/address)'" + fi + echo "INTERFACETYPE='Ethernet'" + } >> /tmp/ifcfg/ifcfg-$netif + fi + + if [ -n "$vlan" ]; then + { + echo "INTERFACETYPE='Vlan'" + echo "VLAN_ID='$(get_vid $vlanname)'" + echo "ETHERDEVICE='$phydevice'" + } >> /tmp/ifcfg/ifcfg-$netif + fi + + if [ -n "$bond" ] ; then + # bond interface + { + # This variable is an indicator of a bond interface for initscripts + echo "BONDING_MASTER='yes'" + echo "BONDING_MODULE_OPTS='$bondoptions'" + echo "INTERFACETYPE='Bond'" + } >> /tmp/ifcfg/ifcfg-$netif + + local i=0 + for slave in $bondslaves ; do + echo "BONDING_SLAVE_$i='$slave'" >> /tmp/ifcfg/ifcfg-$netif + i=$((i+1)) + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" + echo "NAME='$slave'" + echo "INTERFACETYPE='Ethernet'" + echo "STARTMODE='hotplug'" + echo "BOOTPROTO='none'" + echo "# ETHTOOL=''" + } >> /tmp/ifcfg/ifcfg-$slave + done + fi + + if [ -n "$bridge" ] ; then + # bridge + { + echo "INTERFACETYPE='Bridge'" + echo "BRIDGE='yes'" + echo "BRIDGE_STP='off'" + echo "BRIDGE_FORWARDDELAY='0'" + echo -n "BRIDGE_PORTS='" + + } >> /tmp/ifcfg/ifcfg-$netif + + if [ "$ethname" = "$bondname" ] ; then + { + for slave in $bondslaves ; do + echo -n "$bondname " + done + echo "'" + } >> /tmp/ifcfg/ifcfg-$netif + else + echo "$ethname'" >> /tmp/ifcfg/ifcfg-$netif + fi + fi +done + +# Pass network opts +mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network +mkdir -m 0755 -p /run/initramfs/state/var/run/wicked +echo "files /etc/sysconfig/network" >> /run/initramfs/rwtab +echo "files /var/run/wicked" >> /run/initramfs/rwtab +{ + cp /tmp/net.* /run/initramfs/ + cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf + copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network + cp /tmp/leaseinfo.* /run/initramfs/state/var/run/wicked/ +} > /dev/null 2>&1 Index: dracut-036/modules.d/40network/ifup.sh =================================================================== --- dracut-036.orig/modules.d/40network/ifup.sh 2014-03-04 18:10:35.440663127 +0100 +++ dracut-036/modules.d/40network/ifup.sh 2014-03-04 18:11:02.536664786 +0100 @@ -175,6 +175,7 @@ do_dhcp() { $dhclient --test $netif > /tmp/leaseinfo.${netif}.dhcp.ipv${1:1:1} dhcp_apply $1 || return $? + echo $netif > /tmp/net.${netif}.did-setup echo $netif > /tmp/setup_net_${netif}.ok return 0 }