booting 11.0 off external usb drive
I have a dell inspiron 6400 laptop (fwiw).. I booted off the 11.0 dvd using huge26.s and did a full install onto an external usb drive, which linux identified as /dev/sdb. Installation was smooth, but it won't boot now. I don't know if this matters, but I installed lilo to the "root" (root of the usb drive, I presume) instead of MBR (to avoid touching the internal hdd), and I figured I'd just always hit f12 on post if I wanted to use Linux on it.
I know for a fact the laptop will boot from the drive no problem, because the drive I installed onto came out of a windows computer that crashed, and when I stuck it in the usb enclosure, that drive would boot via the usb right up until windows has its inevitable heart attack and blue screen. But it did start to boot, so I know it's possible.
I suspect this has to do with needing a delay, which I have seen is a part of other solutions. If I boot off the dvd again and log in as root, I run "fdisk /dev/sdb" and it says "Unable to open /dev/sdb".. then I hit the up arrow again and press enter again, and it goes into fdisk just fine the 2nd time.. this is 100% reproducible. So that's why I suspect there is some kind of initialization necessary. However, I'm not even sure that it is specifically a time delay, because if I boot off of the dvd, log in as root, let it sit for a minute, and THEN try the fdisk /dev/sdb, it still fails the first time but succeeds the second time. So maybe it doesn't need a delay, it needs some kind of poke, for lack of a better term?
Oh, one other thing I tried that doesn't work is that I can't even boot off the dvd and at the boot: prompt use "huge26.s root=/dev/sdb2 noinitrd ro" because then I get a kernel panic when it tries to mount the drive. It probably needs a poke for that too... Soooooo I dunno.. I'm a little stumped
The default kernel doesn't have the usb mass storage drivers statically compiled so they must be either compiled in or loade with an initrd. even if you compile them into the kernel you need an initrd that conatins a 3-? second sleep. Even if the drivers are present in the kernel they are slow to register and the kernel reaches the point of trying to mount the root partition before the usb drivers have registered, hence the mount root failure. The quickest way to get such an initrd is to use or modify the one from the RUNT Linux boot floppy.
Here you can find a short How-To which explains the procedure to install Slackware to an external usb drive and boot from this drive:
It works for me with external usb harddisks and usb sticks.
|All times are GMT -5. The time now is 11:00 PM.|