PDA

View Full Version : Can't boot knoppix 3.7 from usb pendrive with kernel 2.6



hookan
01-20-2005, 11:35 AM
I have have installed a standard knoppix 3.7 on a 1GB usb pendrive,
and it works and boots fine with the linux24 kernel.
It finds the knoppix image on /dev/sda1

However I can't get it to boot successfully from usb
with linux26 (kernel 2.6.9).

The boot process stops with the message:
Can't find KNOPPIX image

I have debugged what happens in the linuxrc script
in the initrd-image (minirt26.gz), and the problem is that
it fails to mount anything on /cdrom,
and it does try /dev/sda1 among numerous other devices.
All the correct usb-modules seems to be loaded when i do lsmod.

I have tried booting with a home-built 2.6 kernel too, but get the same result.

Has anyone managed to boot knoppix 3.7 with the 2.6 kernel from usb?

zrws01
01-21-2005, 04:33 AM
Would you mind posting the steps you did to get knoppix to work on the 1gb usb drive with the 2.4 kernel. I'd like to do the same thing.

Thanks
robert

hawkeye
01-21-2005, 07:44 AM
The problem is similar to a problem I just had trying to make a persistent home directory on a pen drive with 2.6 Starting in 2.6, USb devices are now /dev/ub* as opposed to using SCSI emulation (/dev/sd*). So in 2.6, your pen drive is now /dev/uba1 instead of /dev/sda1, and the boot process doesn't automatically look for images in /dev/uba1. If you are using the 'fromhd' cheat code, instead of 'fromhd' or 'fromhd=scan' try 'fromhd=/dev/uba1'. (With my home directory on a pen drive, I have to use the cheat code 'home=/dev/uba1/knoppix.img' instead of just 'home=scan'.)

So try that cheat code on boot.

hookan
01-21-2005, 02:17 PM
Thanks for the suggestions, however my problem is not solved.
Neither the option "fromhd=/dev/uba1" or "fromhd=/dev/sda1" works any better.
I am sure the linuxrc script tries both devices by default, but fails to mount them.

from linuxrc (in minirt26.gz):
# New: also check HD partitions for a KNOPPIX/KNOPPIX image
test -n "$FOUND_SCSI" -a -z "$NOSCSI" && DEVICES="$DEVICES /dev/sd?[1-9] /dev/sd?[1-9][0-9]"
DEVICES="$DEVICES /dev/ub?[1-9] /dev/ub?[1-9][0-9] /dev/hd?[1-9] /dev/hd?[1-9][0-9]"
case "$CMDLINE" in *fromhd=/dev/*) DEVICES="$fromhd"; ;; esac
for i in $DEVICES
do
echo -n "${CRE}${BLUE}Looking for CDROM in: ${MAGENTA}$i${NORMAL} "
if mountit $i /cdrom "-o ro" >/dev/null 2>&1
then
if test -f /cdrom/$KNOPPIX_DIR/$KNOPPIX_NAME

To ztws01: Look at http://www.knoppix.net/wiki/USB_Based_FAQ, it explains the methods i used
to get as far as I have done. Unforunately i have to run some applications that require kernel 2.6.