Release new version 0.105.0
[grml-terminalserver.git] / grml-terminalserver-config
index 8aa0748..2140d69 100755 (executable)
@@ -117,11 +117,11 @@ function actionAutoconf
 # INITRD {{{
 function actionMkInitrd
 {
-  echo "Installing initrd $PATH_/minirt26.gz:"
+  echo "Installing initrd $PATH_/initrd.img:"
   # 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_"
+  cp /boot/"$initrd_" "$PATH_"/initrd.img || die "Could not copy /boot/$initrd_"
 }
 
 # }}}
@@ -167,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 address provide
+  # x.x.x.100 instead so we avoid possible conflicts with
+  # default gateway
+  if echo "$IPRANGE_FROM_" | grep -q '\.1$' ; then
+    IPRANGE_FROM_="${IPRANGE_FROM_%%\.1}.100"
+  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_%/*}
@@ -188,8 +194,8 @@ for addresses from 192.168.0.101 to (and including) 192.168.0.200.
 
   NAMESERVERS_=`netGetNameservers warn`
   GW_=`netGetDefaultGateway warn`
-  GW_DEV_=`/sbin/ip route get "$GW_" | awk '{ print $3; exit; }'`
-  if [ "$GW_DEV_" != "$INTERFACE_" ] && [ "$GW_DEV_" != "" ]; then
+  GW_DEV_=`/sbin/ip route get "$GW_" | sed 's/^local //' | awk '{ print $3; exit; }'`
+  if [ "$GW_DEV_" != "$INTERFACE_" ] && [ "$GW_DEV_" != "" ] && [ "$GW_DEV_" != "lo" ]; then
     # GW_DEV_ of server is not the same device as the one serviced by dhcpd
     # so it doesn't make sense to provide the GW_ address to the clients
     local do_nat_="YES"
@@ -213,55 +219,10 @@ the internet?"
     fi
   fi
 
-  # get options
-  #local OPT_IPTABLES_="yes"
-  #local OPT_SSH_="yes"
-  #local OPT_DISTCC_="yes"
-  #local OPT_SQUID_=""
-
-  local OPTIONS_TITLE_="Options"
-  local OPTIONS_MESSAGE_="Please give the appropriate options you want the clients to use:
-
-grml2hd   - Make a non-interactive remote installation
-
-
-
-"
-#  local OPTIONS_MESSAGE_="Please give the appropriate options you want the clients to use:
-#
-#iptables  - Only the server should be able to access the clients
-#ssh       - A ssh-key will be created on the server and distributed to the clients
-#distcc    - You want to use the clients as compile-farm (ssh options recommned)
-#
-#"
-
-  local OPT_IPTABLES_DESC_="Start iptables on the clients"
-  local OPT_SSH_DESC_="Start ssh on the clients"
-  local OPT_DISTCC_DESC_="Start distcc on the clients"
-  local OPT_GRML2HD_DESC_="Remote install grml on the network clients"
-  # dialog options (enable if implemented)
-  #iptables "$OPT_IPTABLES_DESC_" off \
-  #ssh "$OPT_SSH_DESC_" off \
-  #distcc "$OPT_DISTCC_DESC_" off \
   echo -n "" >"$TMP_"
-  $DIALOG_ --clear --separate-output --backtitle "$BACK_TITLE_" --title "$OPTIONS_TITLE_" --checklist "$OPTIONS_MESSAGE_" 25 80 10 \
-  grml2hd "$OPT_GRML2HD_DESC_" off \
-    2>$TMP_ || die "could not get terminalserver options" $?
-  while read tmp_option_; do
-    OPTIONS_="$OPTIONS_ $tmp_option_"
-  done <$TMP_
-
-  # parse options
-  for i in $OPTIONS_; do
-    case "$i" in
-      grml2hd)  optGrml2Hd || return 1 ;;
-    esac
-  done
+  local OPTIONS_BOOTARG_MESSAGE_="Here you can add additional boot arguments for the clients separated by spaces:
 
-  echo -n "" >"$TMP_"
-  local OPTIONS_BOOTARG_MESSAGE_="Here you can add additional boot arguments for the clients seperated by spaces:
-
-Quite usefull examples:
+Quite useful examples:
 
 ssh=<pw>              - Start ssh server and set password of user grml to pw
 services=<1,2,3>      - Execute /etc/init.d/{1,2,3} start
@@ -280,54 +241,6 @@ startx                - Boot into X
 }
 # }}}
 
-# OPTIONS GETTING DIALOG {{{
-function optGrml2Hd
-{
-  local GRML2HD_TITLE_='Grml2hd options dialog'
-  local tmp_=''
-  local options_='BOOT_IMAGE=grml2hd'
-
-  # get partition to install grml2hd on
-  OPTIONS_PARTITION_MSG_='Please specify the target partition where to install grml'
-  PARTITION_TITLE_='Partition selection'
-  echo -n "" >"$TMP_"
-  $DIALOG_ --clear --backtitle "$BACK_TITLE_" --title "$PARTITION_TITLE_" --inputbox \
-    "$OPTIONS_PARTITION_MSG_" 0 75 '/dev/hda1' 2>$TMP_ || die "problems getting partition"
-  tmp_="partition=$(<$TMP_)"
-  options_="$options_ $tmp_"
-
-  # get filesystem type
-  OPTION_FS_TYPE_='Please specify the filesystem type'
-  FS_TITLE_='Filesystem selection'
-  echo -n "" >"$TMP_"
-  $DIALOG_ --clear --backtitle "$BACK_TITLE_" --title "$FS_TITLE_" --inputbox \
-  "$OPTION_FS_TYPE_" 0 75 'ext3' 2>$TMP_ || die "problems getting filesystem type"
-  tmp_="filesystem=$(<$TMP_)"
-  options_="$options_ $tmp_"
-
-  # get where to save mbr
-  OPTION_MBR_='Please specify the location where to save the mbr'
-  MBR_TITLE_='Select location of mbr'
-  echo -n "" >"$TMP_"
-  $DIALOG_ --clear --backtitle "$BACK_TITLE_" --title "$MBR_TITLE_" --inputbox \
-    "$OPTION_MBR_" 0 75 '/dev/hda' 2>$TMP_ || die "problems getting location where to write mbr"
-  tmp_="mbr=$(<$TMP_)"
-  options_="$options_ $tmp_"
-
-  # get first user
-  OPTION_USER_='Who should be the first user on the system'
-  USER_TITLE_='User selection'
-  echo -n "" >"$TMP_"
-  $DIALOG_ --clear --backtitle "$BACK_TITLE_" --title "$USER_TITLE_" --inputbox \
-    "$OPTION_USER_" 0 75 'grml' 2>$TMP_ || die "problems getting first user of system"
-  tmp_="user=$(<$TMP_)"
-  options_="$options_ $tmp_"
-
-  BOOT_ARGS_="$options_"
-}
-#}}}
-
-
 function removeTmpFiles
 {
   execute "rm -f $TMP_" warn
@@ -335,7 +248,7 @@ function removeTmpFiles
 
 function actionClean
 {
-  for i in dhcpd.conf minirt26.gz; do
+  for i in dhcpd.conf initrd.img; do
     execute "rm -f $PATH_/$i*"
   done
 
@@ -376,18 +289,6 @@ setExitFunction 'removeTmpFiles'
 
 . $DEFAULT_CONFIG_
 . $CONFIG_
-# used config vars:
-# MODULES_PATH_
-# MODULES_PATH_ROOT_DIFF_
-# KERNEL_VERSION_
-# ORIGINAL_INITRD_
-if [[ $MODULES_PATH_ == "" || $KERNEL_VERSION_ == "" || $ORIGINAL_INITRD_ == "" ]]; then
-  warn "MODULES_PATH_=\"$MODULES_PATH_\" \
-KERNEL_VERSION_=\"$KERNEL_VERSION_\" \
-ORIGINAL_INITRD_=\"$ORIGINAL_INITRD_\""
-  die "False configuration, please update $CONFIG_"
-fi
-
 
 case "$1" in
   interactive)  actionInteractive ;;