diskimage-builder/elements/ramdisk/init.d/02-start-network
Chris Jones c9f432d45b Split network bringup out of base ramdisk init.
We now run the network bringup portion of the ramdisk init from an
init.d script, thus allowing image builders to inject code into the init
script before that point (e.g. configure network hardware).
The environment variables used by the network bringup code are retained
in the base init script so they can be overridden by init.d fragments.

Change-Id: I1ef0bb21e7f26c0ff3f02266f853ce5402bcb94d
Closes-Bug: #1252023
2013-11-17 20:37:26 +00:00

42 lines
851 B
Text

echo "starting network $BOOT_MAC_ADDRESS"
t=0
while ! BOOT_INTERFACE=$(find_interface "$BOOT_MAC_ADDRESS"); do
t=`expr "$t" + 5`
if [ "$t" -gt 10 ]; then
break
fi
sleep 5
done
if [ -z "$BOOT_INTERFACE" ]; then
err_msg "Could not find an interface that owns MAC: $BOOT_MAC_ADDRESS"
troubleshoot
fi
readonly BOOT_INTERFACE
ifconfig lo 127.0.0.1 up
ifconfig "$BOOT_INTERFACE" up
if [ $? -ne 0 ]; then
sleep 10
ifconfig "$BOOT_INTERFACE" up
if [ $? -ne 0 ]; then
err_msg "Failed to ifconfig up $BOOT_INTERFACE"
troubleshoot
fi
fi
ifconfig "$BOOT_INTERFACE" "$BOOT_IP_ADDRESS" netmask "$BOOT_NETMASK"
route add default gw $BOOT_GATEWAY
echo "pinging to boot server $BOOT_SERVER"
w=30
while [ $w -gt 0 ]; do
ping -c 5 -q "$BOOT_SERVER" > /dev/null
if [ $? -eq 0 ]; then
break
fi
sleep 1
w=`expr $w - 5`
done
echo "network ready"