Use a fully qualified path to the 'common.sh', so we don't need to use chdir() when running our hooks
98 lines
1.5 KiB
Bash
Executable File
98 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script sets up the /etc/network/interface file for the new
|
|
# image.
|
|
#
|
|
# Steve
|
|
# --
|
|
# http://www.steve.org.uk/
|
|
|
|
|
|
prefix=$1
|
|
|
|
|
|
#
|
|
# Source our common functions
|
|
#
|
|
if [ -e /usr/lib/xen-tools/common.sh ]; then
|
|
. /usr/lib/xen-tools/common.sh
|
|
fi
|
|
|
|
|
|
#
|
|
# Log our start
|
|
#
|
|
logMessage Script $0 starting
|
|
|
|
|
|
#
|
|
# Make sure we have an /etc/sysconfig/network-scripts directory.
|
|
#
|
|
mkdir -p ${prefix}/etc/sysconfig/network-scripts/
|
|
|
|
|
|
#
|
|
# Test for static vs. DHCP
|
|
#
|
|
if [[ -z "${dhcp}" ]]; then
|
|
|
|
#
|
|
# Setup the initial interface
|
|
#
|
|
cat <<E_O_STATIC >${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0
|
|
DEVICE=eth0
|
|
ONBOOT=yes
|
|
BOOTPROTO=static
|
|
IPADDR=${ip1}
|
|
NETMASK=${netmask}
|
|
GATEWAY=${gateway}
|
|
E_O_STATIC
|
|
|
|
#
|
|
# Now setup any other ones.
|
|
#
|
|
interface=1
|
|
count=2
|
|
|
|
while [ "${count}" -le "${ip_count}" ]; do
|
|
|
|
value=\$ip${count}
|
|
value=`eval echo $value`
|
|
|
|
logMessage Adding etho:${interface}
|
|
|
|
cat <<E_O_STATIC >${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0:${interface}
|
|
DEVICE=eth0:${interface}
|
|
ONBOOT=yes
|
|
BOOTPROTO=static
|
|
IPADDR=${value}
|
|
NETMASK=${netmask}
|
|
E_O_STATIC
|
|
count=`expr $count + 1`
|
|
interface=`expr $interface + 1`
|
|
done
|
|
|
|
else
|
|
|
|
cat <<E_O_DHCP >${prefix}/etc/sysconfig/network-scripts/ifcfg-eth0
|
|
DEVICE=eth0
|
|
BOOTPROTO=dhcp
|
|
ONBOOT=yes
|
|
E_O_DHCP
|
|
fi
|
|
|
|
|
|
#
|
|
# Don't forget to setup the default route.
|
|
#
|
|
cat <<EOF >${prefix}/etc/sysconfig/network
|
|
NETWORKING=yes
|
|
GATEWAY=${gateway}
|
|
HOSTNAME=${hostname}
|
|
EOF
|
|
|
|
|
|
#
|
|
# Log our finish
|
|
#
|
|
logMessage Script $0 finished |