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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html