Marcus Meissner
73faa804ea
- 40network: always start netroot in ifup.sh (bnc#881235) * Add: 0066-40network-always-start-netroot-in-ifup.sh.patch - 95fcoe: check() always returns 255 * Add: 0067-95fcoe-check-always-returns-255.patch - 95fcoe-uefi: Test for EFI firmware (bnc#882412) * Add: 0068-95fcoe-uefi-Test-for-EFI-firmware.patch - Rename patches to match git repository: * Old: more-fips-adjustments.patch * New: 0057-01fips-Include-some-more-hmacs.patch * Old: dracut-check-supported.patch * New: 0058-dracut-add-warning-when-including-unsupported-module.patch - Add 99suse module to git repository: * Remove: parse-suse-initrd.sh * Remove: module-setup-initrd.sh * Add: 0059-99suse-Add-SUSE-specific-initrd-parsing.patch - Add write-ifcfg-suse.sh to git repository: * Remove: write-ifcfg-suse.sh * Add: 0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch - Fixup error messages in write-ifcfg-suse.sh (bnc#881286) * Add: 0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch - Add missing 'libgcc_s.so' library (bnc#881692): * Add: 0062-95iscsi-Install-libgcc_s-library.patch * Add: 0063-90multipath-Install-libgcc_s-library.patch - Install missing scsi_dh_alua module (bnc#871617) * Add: 0064-90kernel-modules-install-scsi_dh_alua.patch - 95iscsi: fixup bnx2i offload booting (bnc#855747) * Add: 0065-95iscsi-Fixup-bnx2i-offload-booting.patch Add: more-fips-adjustments.patch OBS-URL: https://build.opensuse.org/request/show/237520 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=160
204 lines
5.9 KiB
Diff
204 lines
5.9 KiB
Diff
From b22afa48bc111794259230cf3144262c719b55f5 Mon Sep 17 00:00:00 2001
|
|
From: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.com>
|
|
Date: Wed, 4 Jun 2014 13:00:06 +0200
|
|
Subject: 45ifcfg: Add SUSE-specific write-ifcfg file
|
|
|
|
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.com>
|
|
---
|
|
modules.d/45ifcfg/write-ifcfg-suse.sh | 183 ++++++++++++++++++++++++++++++++++
|
|
1 file changed, 183 insertions(+)
|
|
create mode 100755 modules.d/45ifcfg/write-ifcfg-suse.sh
|
|
|
|
diff --git a/modules.d/45ifcfg/write-ifcfg-suse.sh b/modules.d/45ifcfg/write-ifcfg-suse.sh
|
|
new file mode 100755
|
|
index 0000000..4b6350f
|
|
--- /dev/null
|
|
+++ b/modules.d/45ifcfg/write-ifcfg-suse.sh
|
|
@@ -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
|
|
--
|
|
1.8.4.5
|
|
|