X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=conf_files%2Fpl_netinit;fp=conf_files%2Fpl_netinit;h=b1f9abf6a9c4391b25453ca96dc0c2eed98896e6;hb=48ad56537c41e105eb5d35719a3b5afc748b9939;hp=b3934f67721c6976c0bd4922368fc7a1a73c1a95;hpb=5cab55eb73c2da3653af4adb8bd077c96f639c58;p=bootcd.git diff --git a/conf_files/pl_netinit b/conf_files/pl_netinit index b3934f6..b1f9abf 100644 --- a/conf_files/pl_netinit +++ b/conf_files/pl_netinit @@ -54,12 +54,16 @@ IFCONFIG_OUTPUT=/tmp/ifconfig # (no other configuration file found) DEFAULT_NET_CONF=0 +# amount of time to delay before we check flash devices +FLASH_DEVICE_DELAY=25s + + net_init_failed() { echo echo "pl_netinit: network initialization failed," echo "pl_netinit: shutting down machine in two hours" - /bin/sleep 7200 + /bin/sleep 2h /sbin/shutdown -h now exit 1 } @@ -128,7 +132,7 @@ find_node_config() # some usb flash based devices take a couple of seconds to initialize # also, try to read the partition table off the device to make sure # it shows up in /sys/block - /bin/sleep 10s + /bin/sleep $FLASH_DEVICE_DELAY # make the sd* expansion fail to an empty string if there are no sd # devices @@ -247,8 +251,7 @@ if [[ -n "$NET_DEVICE" ]]; then # device for it. echo "pl_netinit: looking for a device with mac address $NET_DEVICE" - pushd . - cd /sys/class/net + pushd /sys/class/net for device in *; do dev_address=`cat $device/address` if [[ "$dev_address" == "$NET_DEVICE" ]]; then @@ -258,12 +261,6 @@ if [[ -n "$NET_DEVICE" ]]; then fi done popd - -elif [[ -n "$PRIMARY_DEV" ]]; then - # the user specified a virtual ethernet device to use. - ETH_DEVICE=$PRIMARY_DEV - echo "pl_netinit: using user specified device $ETH_DEVICE" - else ETH_DEVICE=$DEFAULT_NET_DEV echo "pl_netinit: using default device $ETH_DEVICE" @@ -286,9 +283,15 @@ fi # actually check to make sure ifconfig succeeds /sbin/ifconfig $ETH_DEVICE up 2>&1 > /dev/null if [[ $? -ne 0 ]]; then - echo "pl_netinit: device $ETH_DEVICE does not exist," - echo "pl_netinit: this is due to either the device not existing," - echo "pl_netinit: or its device drivers not being loaded" + echo "pl_netinit: device $ETH_DEVICE does not exist, most likely" + echo "pl_netinit: this cd does not have hardware support for your" + echo "pl_netinit: network adapter. please send the following lines" + echo "pl_netinit: to PlanetLab Support: support@planet-lab.org" + echo "pl_netinit: for further assistance" + echo + /sbin/lspci -n | /bin/grep "Class 0200" + echo + net_init_failed fi