Frugal USB boot fails: 'Missing Operating System'


Forum: USB booting
Topic: Frugal USB boot fails: 'Missing Operating System'
started by: vodsonic

Posted by vodsonic on Jan. 22 2006,20:07
I'm trying to install DSL frugal to a 512mb Sandisk Cruzer Micro thumbdrive, in order to run DSL on a small barebones machine that has no IDE drives - not even a CDROM.

I booted DSL 2.1 from the CD on my laptop, changed the flash drive's geometry with sfdisk, and manually paritioned with cfdisk, making a bootable 64mb linux partition at the beginning of the volume. Used the frugal-usb install option in 'Tools'. Installed to sda1.

The install went fine except that near the end, during the grub install, it told me, '/dev/sda does not have any corresponding BIOS drive.' The installer then said that the installation was complete.

When I try to boot to this thumbdrive, I see the BIOS splash screen, followed immediately by a screen blank but for the words 'Missing Operating System.'

(The same machine boots DSL just fine from a different thumbdrive on which I did the regular USB-HDD install just for kicks.)

I am fairly sure this problem is caused by a problem with my grub configuration files, namely device.map and menu.lst

The pertinent entry in menu.lst reads as follows:

Code Sample

title DSL
kernel /boot/linux24 root=/dev/sda1 quiet vga=normal noacpi noapm nodma noscsi frugal
initrd /boot/minirt24.gz


the device.map, as generated during the frugal-grub install, looks like this:

Code Sample

(hd0) /dev/hda
(hd1) /dev/hdb
(hd2) /dev/hdc
(hd3) /dev/hdd
(hd4) /dev/hde
(hd5) /dev/hdf


I have tried various modifications to these two files, but the result when I try to boot with them is always the same, 'Missing Operating System'. I've tried inserting

root (hd0,0)

after the title line in menu.lst, and I've tried modifying device.map in various different ways, with the idea that perhaps, since I'm trying to boot from a USB drive, device.map should really refer to /dev/sda and/or (sd0). No luck so far.

At this point, I still believe that the problem lies somewhere in my grub configuration files. Can anybody offer any suggestions?

Posted by ~thc on Jan. 24 2006,09:22
have you tried

(hd0) /dev/sda

in device.map while installing the grub bootloader?

Posted by vodsonic on Jan. 25 2006,13:14
Thanks for the suggestion. I've been tied up making license plates & killing rats, but hope to try what you suggest later on today or tomorrow.

To do this, I would need to modify the device.map that is in the boot directory of the USB thumbdrive that has the frugal install on it, correct? (the one I can't boot from because both my laptop & my barebones machine say "Missing OS") Then I boot DSL from the CD, open a terminal window, and install grub to /dev/sda1... correct?

Posted by antispin on Jan. 26 2006,13:41
I am having a similar issue. I want to install DSL to a 128MB CF disk, but also receive the error when I run "grub-install /dev/sda":

  "/dev/sda does not have any corresponding BIOS drive."

I am trying to install DSL using my laptop. The CF card is attached via a USB card reader. The barebones machine I eventually want to run DSL on has no floppy, CD-ROM, or hard drive, just a CF->IDE adapter.

Can anyone suggest how I might be able to get this to work?

Thanks!

Posted by ~thc on Jan. 26 2006,19:08
Quote
"/dev/sda does not have any corresponding BIOS drive."


that means, 'grub-install' is unable to determine the grub disc number (hdX) from the bios tables of your pc - which is quite normal. you have to manually edit the device.map file in the pendrive 'boot' directory prior to 'grub-install'.

@vodsonic: sounds good.

Posted by vodsonic on Jan. 26 2006,22:46
OK, I modified /mnt/sda1/boot/grub/device.map to contain only:
Code Sample

(hd0) /dev/sda


Then I run grub-install:
Code Sample

#grub-install /dev/sda1
/dev/sda1 does not have any corresponding BIOS drive.


I also tried changing the device.map to read:
Code Sample

(sd0) /dev/sda

but got the same result as before. I rebooted into Knoppix 4, mounted the USB thumbdrive, enabled read/write mode, and tried the same command. The result in Knoppix is a little different. First it says:
Code Sample

Probing devices to guess BIOS drives. This may take a long time.


It takes probably 15 seconds, and then says:
Code Sample

Could not find device for /boot: Not found or not a block device.


I'm stumped.

Posted by ~thc on Jan. 27 2006,15:34
Code Sample
#grub-install /dev/sda1


are you sure that you want to install the primary grub loader (stage 1) into the bootsector of sda1? when not, try

grub-install /dev/sda

for installing it to the pendrives partition table.

Posted by vodsonic on Jan. 27 2006,16:11
#grub-install /dev/sda
/dev/sda does not have any corresponding BIOS drive.

Interestingly:

#mount /dev/sda1 /mnt/sda
mount: /dev/sda1 is not a valid block device

#mount /dev/sda1 /mnt/sda1
mount: /mnt/sda1 does not exist

This is after setting BIOS to boot from CD first, and booting with the USB thumbdrive plugged in. (If I plug the thumbdrive in AFTER booting, and try to mount it manually on /mnt/sda1 it works fine - /mnt/sda1 already exists and I don't have to create it before mounting.)

I think that "does not have any corresponding BIOS drive" and "not a valid block device" are probably the keys here. I just don't know enough to figure out what to do with them.

Posted by ~thc on Jan. 28 2006,17:11
grub-install looks for the device.map file in /boot/grub. i think you have to tell grub-install where to look for the corresponding usb pendrive directory. try

#grub-install /dev/sda --root-directory=/mnt/sda1

Posted by Mike on Feb. 03 2006,22:52
I had the same problem and probably solved in a simpler or more
extreme way. I disconnect every other drive in my system, EXCEPT the USB drive and the CDROM. Then there seemed to be very little confusion about which drive was (hd0) or (hd-whatever). Now I have no more errors from grub and everything is happy.

Posted by Mike on Feb. 03 2006,22:56
BTW, I forgot to mention, after getting grub to install correctly by disconnecting all my other drives, I reconnected them. Now when you choose the correct boot device from the BIOS (USBzip or hdd)
it works. The next trick is making sure your menu.lst has the right paths etc.

Posted by cbagger01 on Feb. 04 2006,05:58
Hey Mike, can you post your config file in this thread?
Posted by vodsonic on Feb. 10 2006,19:28
Thanks Mike & ~thc for solutions. I unplugged the only hard drive from the system I am using to install DSL to my USB thumbdrive. Booted from the CD, did the frugal-grub install to sda1. Mounted that partition, edited /boot/grub/device.map so it contained only:

(hd0) /dev/sda

Then installed grub again.

Code Sample

# grub-install /dev/sda --root-directory=/mnt/sda1
Installation finished. No error reported.
This is the contents of the device map /mnt/sda1/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'.

(hd0) /dev/sda


Booted from the thumbdrive, and lo and behold, grub worked!

The system began uncompressing the kernel, the DSL splash screen went by, and things were whizzing along nicely...

UNTIL...

Code Sample

Scanning for USB devices... Done.
Can't find KNOPPIX filesystem, sorry.
Dropping you to a (very limited) shell.
Press reset button to quit.

Additional builtin commands avaliable[sic]:
cat mount umount
insmod rmmod lsmod

knoppix#


To be continued in a new thread:
< http://damnsmalllinux.org/cgi-bin....t=11409 >

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.