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
This commit is contained in:
Chris Jones 2013-11-17 20:37:26 +00:00
parent 5387b01af9
commit c9f432d45b
3 changed files with 42 additions and 43 deletions

View File

@ -100,46 +100,3 @@ $UDEVD --daemon --resolve-names=never
echo "load modules"
load_modules_by_udev
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"

View File

@ -0,0 +1,42 @@
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"