Release new version 0.99.16.
[grml-terminalserver.git] / grml-terminalserver-config
index ff3a40e..b14a7b6 100755 (executable)
@@ -114,58 +114,18 @@ function actionAutoconf
 }
 # }}}
 
-
 # INITRD {{{
 function actionMkInitrd
 {
-  echo
-  echo "Creating initrd $PATH_/minirt26.gz:"
-  if isExistent "$PATH_/minirt26.gz" ; then
-     echo
-     echo "$PATH_/minirt26.gz exists already, skipping initrd creation"
-     return 0
-  fi
-
-  mkInitrd
-
-  echo '... done'
+  echo "Installing initrd $PATH_/minirt26.gz:"
+  # until we have a stable file location API let's use
+  # an according heuristic
+  initrd_=initrd.img-"$(uname -r)"
+  cp /boot/"$initrd_" "$PATH_"/minirt26.gz || die "Could not copy /boot/$initrd_"
 }
 
-function mkInitrd
-{
-  # we do not want to include persistent configuration files
-  # from udev in the initrd
-  udev_tmp_=$(mktemp -d terminalserver__udev.XXXXXX)
-  persistent=false
-  if ls /etc/udev/rules.d/*persistent* >/dev/null 2>&1 ; then
-    persistent_files=true
-    for f in /etc/udev/rules.d/*persistent* ; do
-      mv "$f" "${udev_tmp_}/"
-    done
-  fi
-
-  set -e
-  local cfg_="/etc/initramfs-tools/initramfs.conf"
-  local tmp_="`mktemp -t terminalserver__initramfsbk.XXXXXX`"
-  cp $cfg_ $tmp_
-  sed -i 's/^MODULES=.*/MODULES=netboot/' $cfg_
-  update-initramfs -u -t 1>/dev/null
-  mv $tmp_ $cfg_
-
-  local initrd_="/boot/initrd.img-$KERNEL_VERSION_"
-  mv $initrd_ $PATH_/minirt26.gz
-  mv ${initrd_}.bak $initrd_
-  set +e
-
-  # restore udev configuration files
-  if $persistent_files ; then
-    mv ${udev_tmp_}/* /etc/udev/rules.d/
-    rmdir "${udev_tmp_}"
-  fi
-}
 # }}}
 
-
 # INTERACTIVE CONFIGURATION  {{{
 
 function actionInteractive
@@ -177,7 +137,7 @@ function actionInteractive
   local card_title_="Choose network device connected to client network"
   local card_message_="Available network devices:"
   local iprange_title_="IP Address range for clients"
-local iprange_message_="
+  local iprange_message_="
 Please enter the desired IP-Range of addresses that should be allocated by clients, separated by a single space.
 
 Example:
@@ -189,7 +149,7 @@ for addresses from 192.168.0.101 to (and including) 192.168.0.200.
   local runconfig_title_="Networkcard config"
   local runconfig_message_="Would you like to configure your interfaces now?"
 
-  # on witch interfaces should we listen
+  # on which interfaces should we listen
   local netdevices_="$(grep -ve 'lo:' -ve 'Inter-|' -ve 'face |bytes' /proc/net/dev | awk -F: '{print $1}')"
   local device_list_=""
   for INTERFACE_ in $netdevices_; do device_list_="$device_list_ ${INTERFACE_} Networkcard_${INTERFACE_##eth}"; done
@@ -207,6 +167,12 @@ for addresses from 192.168.0.101 to (and including) 192.168.0.200.
   done
 
   IPRANGE_FROM_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/HostMin/{print $2}'`
+  # if we have x.x.x.1 as starting range adress provide
+  # x.x.x.10 instead so we avoid possible conflicts with
+  # default gateway
+  if echo $IPFROM | grep -c '\.1$' ; ; then
+    IPFROM="${IPFROM%%\.1}.10"
+  fi
   IPRANGE_TO_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/HostMax/{print $2}'`
   NETWORK_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/Network:/{print $2}'`
   NETWORK_=${NETWORK_%/*}