#!/bin/sh

# Original script by Andreas Teuchert <ant+dl@hsg-kl.de>
# Modified by Frédéric Boiteux <fboiteux@calistel.com>



### Quid blacklist ps3 ?
PREREQ="blacklist ps3 udev"

prereqs()
{
	echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
	prereqs
	exit 0
	;;
esac

conf=/conf/initramfs.conf
typeboot=$(egrep '^BOOT=' $conf | tail -1)

if [ "$typeboot" != "BOOT=nfs" ]; then
    # not a NFS net boot
    exit 0
fi


# wait for udev to be ready
##### done by udev pre-requisite
#####udevsettle

# we want to do some basic IP
modprobe -q af_packet

l_interfaces=$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)

while true; do
	# search for interfaces
        echo -n "Looking for an available Ethernet interface ..."

	for interface in $l_interfaces; do
		# ATTR{carrier} is not set if this is not done
                echo -n " $interface ?"
		ipconfig -c none -d $interface -t 1 >/dev/null 2>&1
        done
        echo ''

        for step in 1 2 3 4 5; do
	        for interface in $l_interfaces; do
                        carrier=$(cat /sys/class/net/$interface/carrier \
                                  2>/dev/null)
                        # link detected
                        if [ "$carrier" = 1 ]; then
                                echo " found $interface !"
                                # inform initrd's init script :
                                echo "DEVICE=$interface" >> /conf/param.conf
                                exit 0
		        fi
	        done
                # wait a bit
                sleep 1
        done
done
