diff --git a/initrd/sbin/installer-cdrom-setup.sh b/initrd/sbin/installer-cdrom-setup.sh old mode 100644 new mode 100755 diff --git a/initrd/sbin/network-fetch-boot-assets.sh b/initrd/sbin/network-fetch-boot-assets.sh old mode 100644 new mode 100755 index fe2ac11..31cbc20 --- a/initrd/sbin/network-fetch-boot-assets.sh +++ b/initrd/sbin/network-fetch-boot-assets.sh @@ -15,26 +15,34 @@ for par in $(cat /proc/cmdline); do esac done -IFACE= -for i in /sys/class/net/*; do - i="${i##*/}" - [ "$i" = "lo" ] && continue - ip link set "$i" up 2>/dev/null || true - if [ -r "/sys/class/net/$i/carrier" ] && [ "$(cat "/sys/class/net/$i/carrier" 2>/dev/null)" = "1" ]; then - IFACE="$i" - break - fi +for I in `seq 1 10`; do + IFACE= + for i in /sys/class/net/*; do + i="${i##*/}" + [ "$i" = "lo" ] && continue + ip link set "$i" up 2>/dev/null || true + if [ -r "/sys/class/net/$i/carrier" ] && [ "$(cat "/sys/class/net/$i/carrier" 2>/dev/null)" = "1" ]; then + IFACE="$i" + break + fi + done + echo "No connected NIC" + echo "Retrying ..." + sleep 3 done -if [ -n "$IFACE" ]; then - echo "[initrd] Found interface: $IFACE" - ip link set "$IFACE" up 2>/dev/null || true +for I in `seq 1 10`; do + if [ -n "$IFACE" ]; then + echo "[initrd] Found interface: $IFACE" + ip link set "$IFACE" up 2>/dev/null || true - echo "[initrd] DHCP on $IFACE..." - udhcpc -i "$IFACE" -q -t 10 -T 2 -s /sbin/udhcpc.script || echo "[initrd] DHCP failed" -else - echo "[initrd] No connected NIC interface found." -fi + echo "[initrd] DHCP on $IFACE..." + udhcpc -i "$IFACE" -q -t 10 -T 2 -s /sbin/udhcpc.script && break || echo "[initrd] DHCP failed" + else + echo "Retrying ..." + sleep 3 + fi +done if [ -n "$ISOURL" ]; then echo "[initrd] Fetching ISO from $ISOURL" diff --git a/initrd/sbin/udhcpc.script b/initrd/sbin/udhcpc.script old mode 100644 new mode 100755