X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=components%2F9990-netbase.sh;h=c463cc0768cadb4ec943dc476b643b79b842f5e0;hb=e6f399c69f13300dd83949266d4ab6161768faa5;hp=496c3ff1d6e1389341e9bb1a516fadde57355c84;hpb=983d4783b0efa954c2322b8c70a4908e4da6bf99;p=live-boot-grml.git diff --git a/components/9990-netbase.sh b/components/9990-netbase.sh index 496c3ff..c463cc0 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 @@ -44,7 +49,6 @@ EOF ifaddress="$(echo ${ifline} | cut -f2 -d ':')" ifnetmask="$(echo ${ifline} | cut -f3 -d ':')" ifgateway="$(echo ${ifline} | cut -f4 -d ':')" - nameserver="$(echo ${ifline} | cut -f5 -d ':')" cat >> "${IFFILE}" << EOF allow-hotplug ${ifname} @@ -62,20 +66,13 @@ cat >> "${IFFILE}" << EOF EOF fi - - if [ -n "${nameserver}" ] - then - if [ -e "${DNSFILE}" ] - then - grep -v ^nameserver "${DNSFILE}" > "${DNSFILE}.tmp" - mv "${DNSFILE}.tmp" "${DNSFILE}" - fi - - echo "nameserver ${nameserver}" >> "${DNSFILE}" - 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 +85,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,7 +99,7 @@ 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 @@ -112,7 +109,7 @@ EOF rc_search=$(cat netboot.config | awk '/domain/ { print $3 }') rc_server0="$(cat netboot.config | awk '/dns0/ { print $5 }')" -cat > /root/etc/resolv.conf << EOF +cat > $DNSFILE << EOF search ${rc_search} domain ${rc_search} nameserver ${rc_server0} @@ -120,12 +117,12 @@ EOF rc_server1=$(cat netboot.config | awk '/dns0/ { print $8 }') - if [ "${rc_server1}" ! = "0.0.0.0" ] + if [ "${rc_server1}" != "0.0.0.0" ] then - echo "nameserver ${rc_server1}" >> /root/etc/resolv.conf + echo "nameserver ${rc_server1}" >> $DNSFILE fi - cat /root/etc/resolv.conf >> /root/var/log/netboot.config + cat $DNSFILE >> /root/var/log/netboot.config fi fi fi