[PATCH 7/8] Move write-ifcfg to its own module

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

 



ifcfg config style is redhat specific, this should be in its own
module.
---
 modules.d/40network/install        |    4 --
 modules.d/40network/write-ifcfg.sh |   52 -------------------------------
 modules.d/45ifcfg/check            |    6 +++
 modules.d/45ifcfg/install          |    2 +
 modules.d/45ifcfg/write-ifcfg.sh   |   60 ++++++++++++++++++++++++++++++++++++
 modules.d/99base/init              |   10 ------
 6 files changed, 68 insertions(+), 66 deletions(-)
 delete mode 100755 modules.d/40network/write-ifcfg.sh
 create mode 100755 modules.d/45ifcfg/check
 create mode 100755 modules.d/45ifcfg/install
 create mode 100755 modules.d/45ifcfg/write-ifcfg.sh

diff --git a/modules.d/40network/install b/modules.d/40network/install
index c440cc3..197be22 100755
--- a/modules.d/40network/install
+++ b/modules.d/40network/install
@@ -12,8 +12,4 @@ inst_hook cmdline 98 "$moddir/parse-bridge.sh"
 inst_hook cmdline 99 "$moddir/parse-ifname.sh"
 inst_hook pre-pivot 10 "$moddir/kill-dhclient.sh"
 
-# TODO ifcfg config style is redhat specific, this should probably
-# go into its own module at one time
-inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh"
-
 mkdir -p "${initdir}/var/run"
diff --git a/modules.d/40network/write-ifcfg.sh b/modules.d/40network/write-ifcfg.sh
deleted file mode 100755
index 3d9b3b1..0000000
--- a/modules.d/40network/write-ifcfg.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-
-# 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
-
-for netif in $IFACES ; do
-    mkdir -p /tmp/ifcfg/
-    # bridge?
-    unset bridge
-    if [ "$netif" = "$bridgename" ]; then
-        bridge=yes
-    fi
-    cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
-    echo "# Generated by dracut initrd" > /tmp/ifcfg/ifcfg-$netif
-    echo "DEVICE=$netif" >> /tmp/ifcfg/ifcfg-$netif
-    echo "ONBOOT=yes" >> /tmp/ifcfg/ifcfg-$netif
-    echo "NETBOOT=yes" >> /tmp/ifcfg/ifcfg-$netif
-    if [ -f /tmp/net.$netif.lease ]; then
-	echo "BOOTPROTO=dhcp" >> /tmp/ifcfg/ifcfg-$netif
-    else
-	echo "BOOTPROTO=none" >> /tmp/ifcfg/ifcfg-$netif
-        # If we've booted with static ip= lines, the override file is there
-	. /tmp/net.$netif.override 
-	echo "IPADDR=$ip" >> /tmp/ifcfg/ifcfg-$netif
-	echo "NETMASK=$mask" >> /tmp/ifcfg/ifcfg-$netif
-	[ -n "$gw" ] && echo "GATEWAY=$gw" >> /tmp/ifcfg/ifcfg-$netif
-    fi
-
-    # bridge needs differente things written to ifcfg
-    if [ -z "$bridge" ]; then
-        # standard interface
-        echo "HWADDR=$(cat /sys/class/net/$netif/address)" >> /tmp/ifcfg/ifcfg-$netif
-        echo "TYPE=Ethernet" >> /tmp/ifcfg/ifcfg-$netif
-        echo "NAME=\"Boot Disk\"" >> /tmp/ifcfg/ifcfg-$netif
-    else
-        # bridge
-	echo "TYPE=Bridge" >> /tmp/ifcfg/ifcfg-$netif
-        echo "NAME=\"Boot Disk\"" >> /tmp/ifcfg/ifcfg-$netif
-        # write separate ifcfg file for the raw eth interface
-        echo "DEVICE=$ethname" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "TYPE=Ethernet" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "ONBOOT=yes" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "NETBOOT=yes" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "HWADDR=$(cat /sys/class/net/$ethname/address)" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "BRIDGE=$netif" >> /tmp/ifcfg/ifcfg-$ethname
-        echo "NAME=$ethname" >> /tmp/ifcfg/ifcfg-$ethname
-    fi
-done
diff --git a/modules.d/45ifcfg/check b/modules.d/45ifcfg/check
new file mode 100755
index 0000000..0f6e457
--- /dev/null
+++ b/modules.d/45ifcfg/check
@@ -0,0 +1,6 @@
+#!/bin/sh
+[ -f /etc/redhat-release ] || exit 1
+
+[[ $1 = -d ]] && echo network
+
+exit 255
diff --git a/modules.d/45ifcfg/install b/modules.d/45ifcfg/install
new file mode 100755
index 0000000..2d0edd0
--- /dev/null
+++ b/modules.d/45ifcfg/install
@@ -0,0 +1,2 @@
+#!/bin/bash
+inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh"
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
new file mode 100755
index 0000000..fc8965c
--- /dev/null
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# 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
+
+for netif in $IFACES ; do
+    mkdir -p /tmp/ifcfg/
+    # bridge?
+    unset bridge
+    if [ "$netif" = "$bridgename" ]; then
+        bridge=yes
+    fi
+    cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
+    echo "# Generated by dracut initrd" > /tmp/ifcfg/ifcfg-$netif
+    echo "DEVICE=$netif" >> /tmp/ifcfg/ifcfg-$netif
+    echo "ONBOOT=yes" >> /tmp/ifcfg/ifcfg-$netif
+    echo "NETBOOT=yes" >> /tmp/ifcfg/ifcfg-$netif
+    if [ -f /tmp/net.$netif.lease ]; then
+	echo "BOOTPROTO=dhcp" >> /tmp/ifcfg/ifcfg-$netif
+    else
+	echo "BOOTPROTO=none" >> /tmp/ifcfg/ifcfg-$netif
+        # If we've booted with static ip= lines, the override file is there
+	. /tmp/net.$netif.override 
+	echo "IPADDR=$ip" >> /tmp/ifcfg/ifcfg-$netif
+	echo "NETMASK=$mask" >> /tmp/ifcfg/ifcfg-$netif
+	[ -n "$gw" ] && echo "GATEWAY=$gw" >> /tmp/ifcfg/ifcfg-$netif
+    fi
+
+    # bridge needs differente things written to ifcfg
+    if [ -z "$bridge" ]; then
+        # standard interface
+        echo "HWADDR=$(cat /sys/class/net/$netif/address)" >> /tmp/ifcfg/ifcfg-$netif
+        echo "TYPE=Ethernet" >> /tmp/ifcfg/ifcfg-$netif
+        echo "NAME=\"Boot Disk\"" >> /tmp/ifcfg/ifcfg-$netif
+    else
+        # bridge
+	echo "TYPE=Bridge" >> /tmp/ifcfg/ifcfg-$netif
+        echo "NAME=\"Boot Disk\"" >> /tmp/ifcfg/ifcfg-$netif
+        # write separate ifcfg file for the raw eth interface
+        echo "DEVICE=$ethname" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "TYPE=Ethernet" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "ONBOOT=yes" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "NETBOOT=yes" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "HWADDR=$(cat /sys/class/net/$ethname/address)" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "BRIDGE=$netif" >> /tmp/ifcfg/ifcfg-$ethname
+        echo "NAME=$ethname" >> /tmp/ifcfg/ifcfg-$ethname
+    fi
+done
+
+# Pass network opts
+mkdir /dev/.initramfs/
+cp /tmp/net.* /dev/.initramfs/ >/dev/null 2>&1
+mkdir -p /dev/.initramfs/state/etc/sysconfig/network-scripts/
+cp /tmp/resolv.conf /dev/.initramfs/state/etc/ >/dev/null 2>&1
+echo "files /etc/sysconfig/network-scripts" > /dev/.initramfs/rwtab
+cp -a /tmp/ifcfg/* /dev/.initramfs/state/etc/sysconfig/network-scripts/ >/dev/null 2>&1
diff --git a/modules.d/99base/init b/modules.d/99base/init
index 116d8b8..d34092b 100755
--- a/modules.d/99base/init
+++ b/modules.d/99base/init
@@ -224,16 +224,6 @@ if getarg init= >/dev/null ; then
     unset CLINE
 fi
 
-# Prepare network opts for passing
-if [ -e /tmp/net.ifaces ]; then
-    mkdir /dev/.initramfs/
-    cp /tmp/net.* /dev/.initramfs/ >/dev/null 2>&1
-    mkdir -p /dev/.initramfs/state/etc/sysconfig/network-scripts/
-    cp /tmp/resolv.conf /dev/.initramfs/state/etc/ >/dev/null 2>&1
-    echo "files /etc/sysconfig/network-scripts" > /dev/.initramfs/rwtab
-    cp -a /tmp/ifcfg/* /dev/.initramfs/state/etc/sysconfig/network-scripts/ >/dev/null 2>&1
-fi
-
 # Debug: Copy state
 if getarg rdcopystate; then
     mkdir /dev/.initramfs/
-- 
1.6.0.4

--
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