Iterate over /var/lib/dhcp* directories for touch command.
[grml-terminalserver.git] / default_config
index 899a033..c6f88fc 100644 (file)
@@ -14,13 +14,40 @@ else
   MOUNT_POINT_="/cdrom"
 fi
 
-DATA_PATH_="$MOUNT_POINT_/boot"
+# assume we have a grml2usb system
+if [ -d "$MOUNT_POINT_"/boot/release ] ; then
+  DATA_PATH_="$MOUNT_POINT_/boot/release"
+else # no grml2usb but running from CD
+  DATA_PATH_="$MOUNT_POINT_/boot"
+fi
+
+# new grml2usb layout
+if [ -d "$MOUNT_POINT_"/boot/syslinux ] ; then
+  ISOLIN_PATH_="$MOUNT_POINT_/boot/syslinux"
+  test -d $ISOLIN_PATH_ || ISOLIN_PATH_="$MOUNT_POINT_"
+else # old layout
+  ISOLIN_PATH_="$DATA_PATH_/isolinux"
+  test -d $ISOLIN_PATH_ || ISOLIN_PATH_="$MOUNT_POINT_"
+fi
 
-ISOLIN_PATH_="$DATA_PATH_/isolinux"
+# addons
+if [[ "$(find $MOUNT_POINT_ -maxdepth 3 -name memtest |head -n1)" != "" ]] ; then
+  ADDONS_PATH_="$(dirname $(find $MOUNT_POINT_ -maxdepth 3 -name memtest |head -n1))"
+fi
+
+if [[ $ADDONS_PATH_ == "" ]]; then
+  ADDONS_PATH_="$MOUNT_POINT_"
+fi
 
-ADDONS_PATH_="$DATA_PATH_/addons"
+if [[ "$(find $DATA_PATH_/ -maxdepth 2 -name linux26 |head -n1)" != "" ]] ; then
+  MULTIBOOT_PATH_="$(dirname $(find $DATA_PATH_ -maxdepth 2 -name linux26 |head -n1))"
+else
+  MULTIBOOT_PATH_="$MOUNT_POINT_"
+fi
 
-MULTIBOOT_PATH_="$(dirname $(find $DATA_PATH_ -maxdepth 2 -name linux26))"
+if [[ $MULTIBOOT_PATH_ == "" ]]; then
+  MULTIBOOT_PATH_="$MOUNT_POINT_"
+fi
 
 KERNEL_IMAGE_="$MULTIBOOT_PATH_/linux26"
 
@@ -29,8 +56,19 @@ ORIGINAL_INITRD_="$MULTIBOOT_PATH_/initrd.gz"
 MEMTEST_IMAGE_="$ADDONS_PATH_/memtest"
 
 PXE_BOOT_MSG_="$ISOLIN_PATH_/boot.msg"
+# grml2usb with grub doesn't provide boot.msg, so generate a default one
+if ! [ -f "$PXE_BOOT_MSG_" ] ; then
+  PXE_BOOT_MSG_="$(mktemp)"
+  cat > $PXE_BOOT_MSG_ << EOF
+\ f17\f\18logo.16
+
+Some information and boot options available via keys F2 - F10. http://grml.org/
+
+EOF
+fi
 
 PXE_BOOT_LOGO_="$ISOLIN_PATH_/logo.16"
 
 IPTABLES_SNAT_="true"
 
+# EOF