Adding debian version 2.0~a1-1.
[live-boot-grml.git] / scripts / live-bottom / 23networking
index c6ec9cc..d73f63b 100755 (executable)
@@ -18,7 +18,7 @@ case "${1}" in
                ;;
 esac
 
-# live-initramfs header
+# live-boot header
 
 if [ -n "${NONETWORKING}" ]
 then
@@ -27,27 +27,27 @@ fi
 
 . /scripts/live-functions
 
-log_begin_msg "Preconfiguring networking..."
+log_begin_msg "Preconfiguring networking"
 
-# live-initramfs script
+# live-boot script
 
 IFFILE="/root/etc/network/interfaces"
 
-if [ "${STATICIP}" = "frommedia" -a -e  "$IFFILE" ]
+if [ "${STATICIP}" = "frommedia" -a -e  "${IFFILE}" ]
 then
        # will use existent /etc/network/interfaces
        log_end_msg
        exit 0
 fi
 
-cat > "$IFFILE" << EOF
+cat > "${IFFILE}" << EOF
 auto lo
 iface lo inet loopback
 
 EOF
 
-udevtrigger
-udevsettle
+udevadm trigger
+udevadm settle
 
 if [ -z "${NETBOOT}" -a -n "${STATICIP}" -a "${STATICIP}" != "frommedia" ]
 then
@@ -60,7 +60,7 @@ then
                ifnetmask="$(echo ${ifline} | cut -f3 -d ',')"
                ifgateway="$(echo ${ifline} | cut -f4 -d ',')"
 
-cat >> "$IFFILE" << EOF
+cat >> "${IFFILE}" << EOF
 auto ${ifname}
 iface ${ifname} inet static
     address ${ifaddress}
@@ -82,59 +82,68 @@ else
        fi
 
        # iterate the physical interfaces and add them to the interfaces list
-       for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*
-       do
-               [ -e $interface ] || continue
-               i="$(basename $interface)"
+       if [ "${method}" != dhcp ] || ([ ! -x /root/usr/sbin/NetworkManager ] && [ ! -x /root/usr/sbin/wicd ])
+       then
+               for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*
+               do
+                       [ -e ${interface} ] || continue
+                       i="$(basename ${interface})"
 
-cat >> "$IFFILE" << EOF
-auto $i
-iface $i inet $method
+cat >> "${IFFILE}" << EOF
+auto ${i}
+iface ${i} inet ${method}
 
 EOF
 
-       done
+               done
+       fi
 
-       if [ ! -f /root/etc/resolv.conf -a -f /netboot.config ]
+       if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]
        then
-               # create a resolv.conf if it is not present
-               cp /netboot.config /root/var/log/netboot.config
+               if [ -f /netboot.config ]
+               then
+                       # create a resolv.conf if it is not present or empty
+                       cp /netboot.config /root/var/log/netboot.config
 
-               rc_search=$(cat netboot.config | awk '/domain/{print $3}')
-               rc_server0=$(cat netboot.config | awk '/dns0/{print $5}')
-               rc_server1=$(cat netboot.config | awk '/dns0/{print $8}')
-               rc_server0="nameserver ${rc_server0}"
+                       rc_search=$(cat netboot.config | awk '/domain/{print $3}')
+                       rc_server0=$(cat netboot.config | awk '/dns0/{print $5}')
+                       rc_server1=$(cat netboot.config | awk '/dns0/{print $8}')
+                       rc_server0="nameserver ${rc_server0}"
 
-               if [ "${rc_server1}" = "0.0.0.0" ]
-               then
-                       rc_server1=""
-               else
-                       rc_server1="nameserver ${rc_server1}"
-               fi
+                       if [ "${rc_server1}" = "0.0.0.0" ]
+                       then
+                               rc_server1=""
+                       else
+                               rc_server1="nameserver ${rc_server1}"
+                       fi
 
 cat > /root/etc/resolv.conf << EOF
 # /etc/resolv.conf
-# Autogenerated by live-initramfs
+# Autogenerated by live-boot
 search ${rc_search}
 domain ${rc_search}
 ${rc_server0}
 ${rc_server1}
 EOF
 
-               cat /root/etc/resolv.conf >> /root/var/log/netboot.config
+                       cat /root/etc/resolv.conf >> /root/var/log/netboot.config
+               fi
        fi
 fi
 
-#for i in eth0 eth1 eth2 ath0 wlan0
-#do
-#      grep -q "iface $i" $IFFILE && continue
+#if [ ! -x /root/usr/sbin/NetworkManager ]
+#then
+#      for i in eth0 eth1 eth2 ath0 wlan0
+#      do
+#              grep -q "iface ${i}" ${IFFILE} && continue
 #
-#cat >> "$IFFILE" << EOF
-#auto $i
-#iface $i inet dhcp
+#cat >> "${IFFILE}" << EOF
+#auto ${i}
+#iface ${i} inet dhcp
 #
 #EOF
 #
-#done
+#      done
+#fi
 
 log_end_msg