Iterate over /var/lib/dhcp* directories for touch command.
[grml-terminalserver.git] / default_config
index a780804..c6f88fc 100644 (file)
@@ -14,17 +14,61 @@ else
   MOUNT_POINT_="/cdrom"
 fi
 
-DATA_PATH_="$MOUNT_POINT_/boot/isolinux"
+# 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
 
-KERNEL_IMAGE_="$DATA_PATH_/linux26"
+# 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
 
-ORIGINAL_INITRD_="$DATA_PATH_/minirt26.gz"
+if [[ $ADDONS_PATH_ == "" ]]; then
+  ADDONS_PATH_="$MOUNT_POINT_"
+fi
 
-MEMTEST_IMAGE_="$DATA_PATH_/memtest"
+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
 
-PXE_BOOT_MSG_="$DATA_PATH_/boot.msg"
+if [[ $MULTIBOOT_PATH_ == "" ]]; then
+  MULTIBOOT_PATH_="$MOUNT_POINT_"
+fi
+
+KERNEL_IMAGE_="$MULTIBOOT_PATH_/linux26"
+
+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_="$DATA_PATH_/logo.16"
+PXE_BOOT_LOGO_="$ISOLIN_PATH_/logo.16"
 
 IPTABLES_SNAT_="true"
 
+# EOF