define formhd cheatcode, if started from a block device.

© Niall Walsh <niallwalsh@users.berlios.de>

--- a/themes/openSUSE/src/dia_install.inc
+++ b/themes/openSUSE/src/dia_install.inc
@@ -50,7 +50,11 @@ sectorsize 0x200 eq bootdrive 0x80 eq or
 
   install.read.config
 
-  xmenu .xm_current install.default put
+  mediatype 0 eq {
+    xmenu .xm_current .inst_hd put
+  } {
+    xmenu .xm_current install.default put
+  } ifelse
 
   % see install types (.inst_*)
   xmenu .xm_list [
@@ -358,7 +362,23 @@ sectorsize 0x200 eq bootdrive 0x80 eq or
     input.edit.hd
     dup 1 get dup 0 get '/' eq { 1 add } if
     exch 0 get dup 0 get '/' eq { 1 add } if
-    "install=hd://%s/%s" install.option sprintf
+    dup length {
+      1 index length 1 ge {
+        "fromhd=%s image_dir=%s" install.option sprintf
+      } {
+        "fromhd=%s" install.option sprintf
+        pop
+      } ifelse
+    } {
+      1 index length 1 ge {
+        exch
+        "fromhd image_dir=%s" install.option sprintf
+      } {
+        "fromhd" install.option sprintf
+        pop
+      } ifelse
+      pop
+    } ifelse
   } if
 
   dup .inst_net_proxy eq {
