X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F23networking;h=871d8c0b84c74f0e9a70764bfa0995ff783330fd;hb=b29beeed475cf0fa53befd4246fd01220a95103f;hp=353cda5ddd85e6790a961b41b55bd86b24bb04c1;hpb=cdb98bbbdc41b29c6b94dc5aed36393daec84cf8;p=live-boot-grml.git diff --git a/scripts/live-bottom/23networking b/scripts/live-bottom/23networking index 353cda5..871d8c0 100755 --- a/scripts/live-bottom/23networking +++ b/scripts/live-bottom/23networking @@ -18,39 +18,49 @@ case "${1}" in ;; esac -# live-initramfs header +# live-boot header + +if [ -n "${NONETWORKING}" ] +then + exit 0 +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" ] ; 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 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} @@ -58,57 +68,82 @@ 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 +# 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 - 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