381ff6ab1d
Fixes problems found by set -eu and pipefail, including: -Many unset variables -Commands that can fail under normal circumstances, which breaks with set -e. This change swallows those expected errors to allow our existing error code to handle them. -The dkms element was not finding Fedora kernel versions correctly. This may be an issue for other distros too, but since Fedora was working fine without this functionality I only changed it to print a warning message rather than failing the build when it happens. -The ramdisk init script will not be set -eu because if it fails the result is a kernel panic, which can be tricky to debug. However, in testing with set -e a few failing commands were found and have been fixed in this patch. Change-Id: I44cf98dfc80cfcaec54b88cc83be80a3dbf2cec3
45 lines
904 B
Text
45 lines
904 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
|
|
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
|
|
ifconfig "$BOOT_INTERFACE" "$BOOT_IP_ADDRESS" netmask "$BOOT_NETMASK"
|
|
route del default || true
|
|
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"
|
|
|