c9f432d45b
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
43 lines
851 B
Plaintext
43 lines
851 B
Plaintext
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"
|
|
|