--- toast-linux	2005/02/06 08:41:53	1.136
+++ toast-linux	2005/02/06 21:11:34	1.137
@@ -1932,7 +1932,7 @@
 root: symbols !CONFIGURE!
   rm -fr $@
   !CONFIGURE! $@
-  mkdir -p $@/{root,proc,sys,tmp,media/floppy,mnt,var/run}
+  mkdir -p $@/{root,proc,sys,tmp,media/floppy,media/cdrom,mnt,var/run}
   ln -s . $@/usr
   install -D $(TOOLCHAIN_LIB_DIR)/ld-uClibc.so.0 $@/lib/ld-uClibc.so.0
   install -D $(TOOLCHAIN_LIB_DIR)/libdl.so.0 $@/lib/libdl.so.0
@@ -1979,13 +1979,19 @@
   cp $(SMALLK) $@/linux
   cp rootfs.gz $@/initrd
 
-cd: $(LARGEK) $(ISOLINUX) rootfs.gz logo.lss
+moreroot: !CONFIGURE!
   rm -fr $@
+  mkdir -p $@/tmp
+  cp !CONFIGURE! $@/tmp/configure
+
+cd: $(LARGEK) $(ISOLINUX) rootfs.gz logo.lss moreroot
+  rm -fr $@
   !CONFIGURE! $@
   cp logo.lss $@/isolinux/logo.lss
   cp $(LARGEK) $@/isolinux/linux
   cp $(ISOLINUX) $@/isolinux/isolinux.bin
   cp rootfs.gz $@/isolinux/initrd
+  tar cjf $@/toast-linux-ram.tar.bz2 --owner=0 --group=0 -C moreroot .
 
 floppy.img: floppy $(MFORMAT) $(SYSLINUX) $(MCOPY) $(MDIR)
   rm -f $@
@@ -1998,7 +2004,7 @@
   $(MKISOFS) -o $@ -b $< $<
 
 %.iso: % $(MKISOFS)
-  $(MKISOFS) -o $@ -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table $<
+  $(MKISOFS) -o $@ -r -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table $<
 
 palette.ppm: logotoppm
   ./logotoppm --palette > $@
@@ -2362,6 +2368,9 @@
 ide1:0.fileName = "cd.iso"
 ide1:0.deviceType = "cdrom-image"
 ide1:0.startConnected = "TRUE"
+floppy0.fileName = "floppy.img"
+floppy0.fileType = "file"
+floppy0.startConnected = "FALSE"
 Ethernet0.present = "TRUE"
 sound.present = "FALSE"
 disable_acceleration = "TRUE"
@@ -2475,8 +2484,12 @@
 mount -a
 ifconfig lo 127.0.0.1
 hostname localhost
-network
-wget -O /tmp/configure http://toastball.net/toast-linux-tmp/configure
+if cdrom; then
+  network || true
+else
+  network
+  (cd /tmp; wget http://toastball.net/toast-linux-tmp/configure)
+fi
 sh /tmp/configure !VERSION!
 
 --- FILE root/etc/init.d/rc.stop ---
@@ -2554,6 +2567,29 @@
 done
 
 echo "Unable to configure network."
+exit 1
+
+--- FILE root/sbin/cdrom ---
+#!/bin/sh
+umount /media/cdrom 2>/dev/null
+file=/media/cdrom/toast-linux-ram.tar.bz2
+cd /sys/block
+for i in *; do
+  case "$i" in
+    dm*|fd*|loop*|ram*|md*) ;;
+    *)
+      mount -r -t iso9660 "/dev/$i" /media/cdrom 2>/dev/null
+      if [ -r "$file" ]; then
+        echo "Found cdrom: $i"
+        ln -s "$i" /dev/cdrom
+        cd /
+        exec tar xjf "$file"
+      fi
+      umount /media/cdrom 2>/dev/null
+      ;;
+  esac
+done
+echo "No cdrom detected."
 exit 1
 
 --- FILE root/share/udhcpc/default.script ---