X-Git-Url: http://git.grml.org/?p=live-boot-grml.git;a=blobdiff_plain;f=components%2F9990-select-eth-device.sh;h=c8f36b05067109e7f051533d09831ecee4f80628;hp=aa7b5810935ad03d983def54536604fe6a795b41;hb=HEAD;hpb=ff77ad620812543c74c839b4126659b4290beb6c diff --git a/components/9990-select-eth-device.sh b/components/9990-select-eth-device.sh index aa7b581..d767455 100755 --- a/components/9990-select-eth-device.sh +++ b/components/9990-select-eth-device.sh @@ -78,32 +78,32 @@ Select_eth_device () # If user force to use specific device, write it for ARGUMENT in ${LIVE_BOOT_CMDLINE} do - case "${ARGUMENT}" in - live-netdev=*) - NETDEV="${ARGUMENT#live-netdev=}" - - # Check if NETDEV is a valid MAC address - if echo "$NETDEV" | grep -Eq '^[0-9A-Fa-f]{2}[:-]([0-9A-Fa-f]{2}[:-]){4}[0-9A-Fa-f]{2}$'; then - echo "NETDEV is a valid MAC address." - - # Retrieve the device name associated with the MAC address - DEVICE_NAME=$(ip -o link | awk -v mac="$NETDEV" '$0 ~ mac{print substr($2, 1, length($2)-1)}') - if [ -n "$DEVICE_NAME" ]; then - echo "Device name for MAC address $NETDEV is $DEVICE_NAME." - NETDEV="$DEVICE_NAME" - fi - else - echo "NETDEV is not a valid MAC address. Assuming it is a device name." - # Assign NETDEV directly to $NETDEV - NETDEV="$NETDEV" - fi - echo "DEVICE=$NETDEV" >> /conf/param.conf - echo "Found live-netdev parameter, forcing it to use network device $NETDEV." - Wait_for_carrier "$NETDEV" - return - ;; - esac - + case "${ARGUMENT}" in + live-netdev=*) + NETDEV="${ARGUMENT#live-netdev=}" + + # Check if NETDEV is a valid MAC address + if echo "$NETDEV" | grep -Eq '^[0-9A-Fa-f]{2}[:-]([0-9A-Fa-f]{2}[:-]){4}[0-9A-Fa-f]{2}$' + then + echo "NETDEV is a valid MAC address." + + # Retrieve the device name associated with the MAC address + DEVICE_NAME=$(ip -o link | awk -v mac="$NETDEV" '$0 ~ mac{print substr($2, 1, length($2)-1)}') + if [ -n "$DEVICE_NAME" ] + then + echo "Device name for MAC address $NETDEV is $DEVICE_NAME." + NETDEV="$DEVICE_NAME" + fi + else + echo "NETDEV is not a valid MAC address. Assuming it is a device name." + fi + + echo "DEVICE=$NETDEV" >> /conf/param.conf + echo "Found live-netdev parameter, forcing it to use network device $NETDEV." + Wait_for_carrier "$NETDEV" + return + ;; + esac done else l_interfaces="$DEVICE"