X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=components%2F9990-netbase.sh;h=04a4ae417637b9ebfe57cc7482e6067b3a20a119;hb=683095685ccdd4175b75293540aabe239d03a6bb;hp=b3f886c943a01e0be7d0513960bce7e4e2936132;hpb=a331218718282c5496ff062a0f6aa55908224862;p=live-boot-grml.git diff --git a/components/9990-netbase.sh b/components/9990-netbase.sh index b3f886c..04a4ae4 100755 --- a/components/9990-netbase.sh +++ b/components/9990-netbase.sh @@ -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 @@ -75,7 +80,11 @@ EOF fi done else - if [ -z "${NETBOOT}" ] || [ -n "${DHCP}" ] + if [ -n "${NODHCP}" ] + then + # force DHCP off + method="manual" + elif [ -z "${NETBOOT}" ] || [ -n "${DHCP}" ] then # default, dhcp assigned method="dhcp" @@ -88,7 +97,7 @@ EOF # iterate the physical interfaces and add them to the interfaces list and also add when ethdevice= called on cmdline if [ "${method}" != dhcp ] || ([ ! -x /root/usr/sbin/NetworkManager ] && [ ! -x /root/usr/sbin/wicd ]) || [ ! -z "${ETHDEVICE}" ] then - for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan* + for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan* /sys/class/net/en* do [ -e ${interface} ] || continue i="$(basename ${interface})" @@ -102,35 +111,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}" + rc_search=$(cat netboot.config | awk '/domain/ { print $3 }') + rc_server0="$(cat netboot.config | awk '/dns0/ { print $5 }')" - 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-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