dsl 2.0 / booting via ehci-hcd / toram and vfat


Forum: USB booting
Topic: dsl 2.0 / booting via ehci-hcd / toram and vfat
started by: ~thc

Posted by ~thc on Dec. 08 2005,18:38
after successfully installing dsl 2.0 on my pen drive (hdd install) i was unable to boot cleanly from computers with intel-based usb 2.0 controllers (module ehci-hcd.o)

there are 2 simple workarounds:
1. temporarily disable the usb 2.0 controller in the bios (dsl will boot via the usb-uhci.o module)
2. use the boot option "expert"

not satisfied i tried to resolve the issue by editing the mini root image (minirt24.gz):

1. enable a pause of one second between modules (sleep 1) in linuxrc
2. changing the order of the three host controller modules in linuxrc
3. deleting the other two modules (/usb-[o,u]hci.o/)

nothing did the trick. finally i had to comment out the "for ... done" loop and manually load the needed modules (see below)

after that i realised that the copy to ramdisk process ("toram") bails out with a standard message (like: cannot change to /cdrom2) from the linuxrc-script.

the "vfat" filesystem driver of the linux kernel converts pure uppercase filenames ("KNOPPIX") to lowercase ("knoppix"). the copy rotine originally written by klaus knopper for the iso9660 driver is unable to handle this. i had to modify this too (rather crude, i know).

this is the patchfile showing my modifications:

--------------------------------------------------------------
--- linuxrc.orig Thu Dec  8 20:08:50 2005
+++ linuxrc Thu Dec  8 20:09:16 2005
@@ -216,9 +216,13 @@ echo -n "${CRE}${BLUE}Checking for for U
if test -f /modules/scsi/usbcore.o; then
$INSMOD /modules/scsi/usbcore.o >/dev/null 2>&1
FOUNDUSB=""
-for i in ehci-hdc.o usb-uhci.o usb-ohci.o ; do
-test -f /modules/scsi/$i && $INSMOD /modules/scsi/$i >/dev/null 2>&1 && FOUNDUSB="yes"
-done
+$INSMOD /modules/scsi/ehci-hcd.o >/dev/null 2>&1
+FOUNDUSB="yes"
+$INSMOD /modules/scsi/usb-uhci.o >/dev/null 2>&1
+FOUNDUSB="yes"
+#for i in ehci-hdc.o usb-uhci.o usb-ohci.o ; do
+#test -f /modules/scsi/$i && $INSMOD /modules/scsi/$i >/dev/null 2>&1 && FOUNDUSB="yes"
+#done
if test -n "$FOUNDUSB"; then
test -f /modules/scsi/usb-storage.o && $INSMOD /modules/scsi/usb-storage.o >/dev/null 2>&1
else
@@ -463,7 +467,8 @@ copy_to()
    /usr/bin/rsync -a --progress --include="$KNOPPIX_DIR/$KNOPPIX_NAME" --include="$KNOPPIX_DIR/" --exclude="*" $COPY $TARGET # Copy Knoppix to $TARGET
    #/usr/bin/rsync -avP $COPY $TARGET # Copy Knoppix to $TARGET
  else
-    /bin/cp -a -f $COPY $TARGET # Copy Knoppix to $TARGET
+    /bin/mkdir $TARGET/KNOPPIX
+    /bin/cp -a -f $COPY/knoppix $TARGET/KNOPPIX/KNOPPIX # Copy Knoppix to $TARGET
  fi
  if [ $? -ne 0 ]
  then
--------------------------------------------------------------

Posted by roberts on Dec. 08 2005,20:48
Try 2.1RC1 there was a typo concerning USB 2.0 support in 2.0.
Posted by ~thc on Dec. 08 2005,21:47
yes: "for i in ehci-hdc.o usb-uhci.o usb-ohci.o ; do"
should read "for i in ehci-hcd.o usb-uhci.o usb-ohci.o ; do"

Posted by ~thc on Dec. 09 2005,15:25
the typo is fixed in 2.1rc1 - what really rocks is sata support - thumbs up!
Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.