~thc
Group: Members
Posts: 42
Joined: Dec. 2005 |
|
Posted: 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 --------------------------------------------------------------
|