Patch by Steven Shiau <steven@nchc.org.tw>. The only changes so far are:
[live-boot-grml.git] / components / 9990-netbase.sh
index b3f886c..a32a47b 100755 (executable)
@@ -16,7 +16,12 @@ Netbase ()
        log_begin_msg "Preconfiguring networking"
 
        IFFILE="/root/etc/network/interfaces"
-       DNSFILE="/root/etc/resolv.conf"
+       if [ -L /root/etc/resolv.conf ] ; then
+               # assume we have resolvconf
+               DNSFILE="/root/etc/resolvconf/resolv.conf.d/base"
+       else
+               DNSFILE="/root/etc/resolv.conf"
+       fi
 
        if [ "${STATICIP}" = "frommedia" ] && [ -e "${IFFILE}" ]
        then
@@ -102,35 +107,30 @@ EOF
                        done
                fi
 
-               if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]
+               if [ ! -f "${DNSFILE}" ] || [ -z "$(cat ${DNSFILE})" ]
                then
                        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}"
-
-                               if [ "${rc_server1}" = "0.0.0.0" ]
-                               then
-                                       rc_server1=""
-                               else
-                                       rc_server1="nameserver ${rc_server1}"
-                               fi
+                               rc_search=$(cat netboot.config | awk '/domain/ { print $3 }')
+                               rc_server0="$(cat netboot.config | awk '/dns0/ { print $5 }')"
 
-cat > /root/etc/resolv.conf << EOF
-# /etc/resolv.conf
-# Autogenerated by live-boot
+cat > $DNSFILE << EOF
 search ${rc_search}
 domain ${rc_search}
-${rc_server0}
-${rc_server1}
+nameserver ${rc_server0}
 EOF
 
-                               cat /root/etc/resolv.conf >> /root/var/log/netboot.config
+                               rc_server1=$(cat netboot.config | awk '/dns0/ { print $8 }')
+
+                               if [ "${rc_server1}" != "0.0.0.0" ]
+                               then
+                                       echo "nameserver ${rc_server1}" >> $DNSFILE
+                               fi
+
+                               cat $DNSFILE >> /root/var/log/netboot.config
                        fi
                fi
        fi