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 rv=0 ifconfig "$BOOT_INTERFACE" up || rv=1 if [ $rv -ne 0 ]; then sleep 10 rv=0 ifconfig "$BOOT_INTERFACE" up || rv=1 if [ $? -ne 0 ]; then err_msg "Failed to ifconfig up $BOOT_INTERFACE" troubleshoot fi fi # Check if boot IP address was specific or retrieve from DHCP if [ -n "$BOOT_IP_ADDRESS" ]; then ifconfig "$BOOT_INTERFACE" "$BOOT_IP_ADDRESS" netmask "$BOOT_NETMASK" route del default || true route add default gw $BOOT_GATEWAY else dhclient -1 "$BOOT_INTERFACE" if [[ $? == 2 ]]; then echo "Error getting IP address for $BOOT_INTERFACE with MAC \ $BOOT_MAC_ADDRESS" troubleshoot fi BOOT_IP_ADDRESS=$(ifconfig "$BOOT_INTERFACE" | grep 'inet addr:' | \ cut -d: -f2 | awk '{ print $1}') BOOT_NETMASK=$(ifconfig "$BOOT_INTERFACE" | grep 'Mask:' | cut -d':' -f4) BOOT_GATEWAY=$(route -n | grep "$BOOT_INTERFACE" | grep '^0.0.0.0' | \ awk '{print $2}') echo "obtained the following from dhcp: " echo " ip address = $BOOT_IP_ADDRESS" echo " netmask = $BOOT_NETMASK" echo " gateway = $BOOT_GATEWAY" fi