X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F23networking;h=6c726c6deb2f6620ae2ee3472869f6da4757f098;hb=845dee811a0159b75422eb7e4cfb6c860d39690b;hp=ad7ac955d1a781a292d02e205dcc361e47b438de;hpb=0a854a1e9307affdeaf96cb3ec0c864b171d66ca;p=live-boot-grml.git diff --git a/scripts/live-bottom/23networking b/scripts/live-bottom/23networking index ad7ac95..6c726c6 100755 --- a/scripts/live-bottom/23networking +++ b/scripts/live-bottom/23networking @@ -1,33 +1,46 @@ -#! /bin/sh +#!/bin/sh -PREREQ="" -DESCRIPTION="Preconfiguring networking..." -IFFILE="/root/etc/network/interfaces" +#set -e -. /scripts/live-functions +# initramfs-tools header + +PREREQ="" prereqs() { - echo "$PREREQ" + echo "${PREREQ}" } -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; +case "${1}" in + prereqs) + prereqs + exit 0 + ;; esac -log_begin_msg "$DESCRIPTION" +# live-initramfs header + +if [ -n "${NONETWORKING}" ] +then + exit 0 +fi + +. /scripts/live-functions + +log_begin_msg "Preconfiguring networking..." + +# live-initramfs script + +IFFILE="/root/etc/network/interfaces" -if [ "${STATICIP}" = "frommedia" -a -e "$IFFILE" ] ; then - # will use existent /etc/network/interfaces - log_end_msg - exit 0 +if [ "${STATICIP}" = "frommedia" -a -e "${IFFILE}" ] +then + # will use existent /etc/network/interfaces + log_end_msg + exit 0 fi -cat > "$IFFILE" < "${IFFILE}" << EOF auto lo iface lo inet loopback @@ -36,14 +49,18 @@ EOF udevtrigger udevsettle -if [ -z "${NETBOOT}" -a -n "${STATICIP}" -a "${STATICIP}" != "frommedia" ]; then - parsed=$(echo "${STATICIP}" | sed -e 's/:/ /g') - for ifline in ${parsed}; do - ifname="$(echo ${ifline} | cut -f1 -d ',')" - ifaddress="$(echo ${ifline} | cut -f2 -d ',')" - ifnetmask="$(echo ${ifline} | cut -f3 -d ',')" - ifgateway="$(echo ${ifline} | cut -f4 -d ',')" - cat >> "$IFFILE" <> "${IFFILE}" << EOF auto ${ifname} iface ${ifname} inet static address ${ifaddress} @@ -51,39 +68,56 @@ iface ${ifname} inet static gateway ${ifgateway} EOF - done + + done else - if [ -z "${NETBOOT}" ]; then - # default, dhcp assigned - method="dhcp" - else - # make sure that the preconfigured interface would not get reassigned by dhcp - # on startup by ifup script - otherwise our root fs might be disconnected! - method="manual" - 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)" - cat >> "$IFFILE" <> "${IFFILE}" << EOF +auto ${i} +iface ${i} inet ${method} EOF - done - if [ ! -f /root/etc/resolv.conf -a -f /netboot.config ] ; then - # create a resolv.conf if it is not present - 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 - cat > /root/etc/resolv.conf < /root/etc/resolv.conf << EOF # /etc/resolv.conf # Autogenerated by live-initramfs search ${rc_search} @@ -91,17 +125,25 @@ domain ${rc_search} ${rc_server0} ${rc_server1} EOF - cat /root/etc/resolv.conf >> /root/var/log/netboot.config - fi + + 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 -# cat >> "$IFFILE" <> "${IFFILE}" << EOF +#auto ${i} +#iface ${i} inet dhcp # #EOF -#done +# +# done +#fi log_end_msg