75f812af59
- fix btrfs mount flags for /usr - degrade message about missing tools for stripping Resolves: rhbz#958519 - set environment vars DRACUT_SYSTEMD, NEWROOT in service file Resolves: rhbz#963159 - don't add volatile swap partitions to host_devs - add libssl.so.10 to make kdump work with fips mode - readd selinux dracut module for kdump - url-lib/url-lib.sh: turn off curl globbing Resolves: rhbz#907497 - include btrfs-zero-log in the initramfs Resolves: rhbz#963257 - proper NAME the network interfaces Resolves: rhbz#965842 - install default font latarcyrheb-sun16 Resolves: rhbz#927564 - optionally install /etc/pcmcia/config.opts Resolves: rhbz#920076 - fix ONBOOT for slaves, set TYPE=Bond for bonding Resolves: rhbz#919001 - add nvme kernel module Resolves: rhbz#910734 - add xfs_metadump - selinux: load_policy script fix - add hid-hyperv and hv-vmbus kernel modules - add parameter rd.live.squashimg Resolves: rhbz#789036 rhbz#782108 - wait for all required interfaces if "rd.neednet=1" Resolves: rhbz#801829 - lvm: add tools for thin provisioning Resolves: rhbz#921235 - ifcfg/write-ifcfg.sh: fixed ifcfg file generation - do not wait for mpath* devices Resolves: rhbz#969068
205 lines
7.4 KiB
Diff
205 lines
7.4 KiB
Diff
From caf207afa7c2a65f25be26a735643a873f5c092f Mon Sep 17 00:00:00 2001
|
|
From: Harald Hoyer <harald@redhat.com>
|
|
Date: Thu, 30 May 2013 14:37:41 +0200
|
|
Subject: [PATCH] ifcfg/write-ifcfg.sh: fixed logic
|
|
|
|
seems like nobody tested this with recent dracut versions.
|
|
---
|
|
modules.d/45ifcfg/write-ifcfg.sh | 75 ++++++++++++++++++++++------------------
|
|
1 file changed, 41 insertions(+), 34 deletions(-)
|
|
|
|
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
|
|
index 625d00b..2e78c49 100755
|
|
--- a/modules.d/45ifcfg/write-ifcfg.sh
|
|
+++ b/modules.d/45ifcfg/write-ifcfg.sh
|
|
@@ -4,10 +4,6 @@
|
|
|
|
# NFS root might have reached here before /tmp/net.ifaces was written
|
|
udevadm settle --timeout=30
|
|
-# Don't write anything if we don't know our bootdev
|
|
-[ -f /tmp/net.ifaces ] || return 1
|
|
-
|
|
-read IFACES < /tmp/net.ifaces
|
|
|
|
if [ -e /tmp/bridge.info ]; then
|
|
. /tmp/bridge.info
|
|
@@ -79,15 +75,25 @@ print_s390() {
|
|
echo "OPTIONS=\"${OPTIONS}\""
|
|
}
|
|
|
|
+for netup in /tmp/net.*.did-setup ; do
|
|
+ [ -f $netup ] || continue
|
|
|
|
-for netif in $IFACES ; do
|
|
+ netif=${netup%%.did-setup}
|
|
+ netif=${netif##*/net.}
|
|
[ -e /tmp/ifcfg/ifcfg-$netif ] && continue
|
|
- # bridge?
|
|
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)
|
|
@@ -100,45 +106,46 @@ for netif in $IFACES ; do
|
|
cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
|
|
{
|
|
echo "# Generated by dracut initrd"
|
|
- echo "DEVICE=$netif"
|
|
+ echo "DEVICE=\"$netif\""
|
|
echo "ONBOOT=yes"
|
|
echo "NETBOOT=yes"
|
|
- echo "UUID=$uuid"
|
|
- [ -n "$mtu" ] && echo "MTU=$mtu"
|
|
- if [ -f /tmp/net.$netif.lease ]; then
|
|
+ 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/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
|
|
+ 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"
|
|
+ echo "IPV6ADDR=\"$ip/$mask\""
|
|
else
|
|
if [ -f /tmp/net.$netif.has_ibft_config ]; then
|
|
echo "BOOTPROTO=ibft"
|
|
else
|
|
echo "BOOTPROTO=none"
|
|
- echo "IPADDR=$ip"
|
|
+ echo "IPADDR=\"$ip\""
|
|
if strstr "$mask" "."; then
|
|
- echo "NETMASK=$mask"
|
|
+ echo "NETMASK=\"$mask\""
|
|
else
|
|
- echo "PREFIX=$mask"
|
|
+ echo "PREFIX=\"$mask\""
|
|
fi
|
|
fi
|
|
fi
|
|
if strstr "$gw" '*:*:*'; then
|
|
- echo "IPV6_DEFAULTGW=$gw"
|
|
+ echo "IPV6_DEFAULTGW=\"$gw\""
|
|
elif [ -n "$gw" ]; then
|
|
- echo "GATEWAY=$gw"
|
|
+ echo "GATEWAY=\"$gw\""
|
|
fi
|
|
fi
|
|
+ [ -n "$mtu" ] && echo "MTU=\"$mtu\""
|
|
} > /tmp/ifcfg/ifcfg-$netif
|
|
|
|
# bridge needs different things written to ifcfg
|
|
@@ -146,14 +153,14 @@ for netif in $IFACES ; do
|
|
# standard interface
|
|
{
|
|
if [ -n "$macaddr" ]; then
|
|
- echo "MACADDR=$macaddr"
|
|
+ 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"
|
|
+ [ -n "$mtu" ] && echo "MTU=\"$mtu\""
|
|
} >> /tmp/ifcfg/ifcfg-$netif
|
|
fi
|
|
|
|
@@ -170,14 +177,14 @@ for netif in $IFACES ; do
|
|
# write separate ifcfg file for the raw eth interface
|
|
{
|
|
echo "# Generated by dracut initrd"
|
|
- echo "DEVICE=$slave"
|
|
+ echo "DEVICE=\"$slave\""
|
|
echo "TYPE=Ethernet"
|
|
echo "ONBOOT=yes"
|
|
echo "NETBOOT=yes"
|
|
- echo "HWADDR=$(cat /sys/class/net/$slave/address)"
|
|
+ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
|
|
echo "SLAVE=yes"
|
|
- echo "MASTER=$netif"
|
|
- echo "NAME=$slave"
|
|
+ echo "MASTER=\"$netif\""
|
|
+ echo "NAME=\"$slave\""
|
|
} >> /tmp/ifcfg/ifcfg-$slave
|
|
done
|
|
fi
|
|
@@ -191,45 +198,45 @@ for netif in $IFACES ; do
|
|
if [ "$ethname" = "$bondname" ] ; then
|
|
{
|
|
echo "# Generated by dracut initrd"
|
|
- echo "DEVICE=$bondname"
|
|
+ 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 "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 "DEVICE=\"$slave\""
|
|
echo "TYPE=Ethernet"
|
|
echo "ONBOOT=yes"
|
|
echo "NETBOOT=yes"
|
|
- echo "HWADDR=$(cat /sys/class/net/$slave/address)"
|
|
+ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
|
|
echo "SLAVE=yes"
|
|
- echo "MASTER=$bondname"
|
|
- echo "NAME=$slave"
|
|
+ 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 "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"
|
|
+ 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
|
|
+ echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif
|
|
i=$((i+1))
|
|
done
|
|
done
|