LS-120 grub boot with 1.44MB but not 120MB floppy: "Geom Error"
~~~FAILURE:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Using a 120MB floppy in an LS-120 superdisk drive.
I put an ext2 filesystem on the whole floppy,
used /boot/grub/device.map so a fully-booted-linux's grub would see
not (hd0) but (fd0) as the booting grub
will see (thru its use of BIOS),
(fd0) /dev/hdc
I added a kernel, stage1, stage2, and menu.lst to the 120MB floppy,
and successfully ran grub,
grub> root (fd0)
grub> setup (fd0)
But on booting, I got only the oneline message,
** GRUB Geom Error
The details of this 120MB floppy attempt are identical
to "4." below, my successful use of a 1.44MB floppy
in the LS-120 drive.
I tried adding a line like "geometry (fd0) 963 8 32 246528"
for the 120MB floppy diskette,
but this resulted in the same grub error message on booting;
I suspect grub ignored this "geometry" setting on booting.
I WOULD APPRECIATE ANY IDEAS ABOUT USING A 120MB LS-120 FLOPPY
IN AN LS-120 DRIVE TO BOOT A KERNEL ON THE SAME FLOPPY.
~~~SUCCESSES:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I could use the LS-120 drive somewhat successfully in several cases,
especially in case "4." below.
In all cases, I tried putting a Linux ext2 filesystem on either a 1.44MB
or a 120MB floppy, either on one partition or usually
on the whole unpartitioned floppy.
1. 1 partition on a 1.44MB floppy.
On a fully-booted-linux-system,
grub installed with no complaints as (hd0,0), /dev/hdc1
[wouldn't install as (fd0,*), because (fd0) allows no partitions;
eg, no (fd0,0)], but on boot only (fd0) was available,
grub> find (<tab>
Possible disks are: fd0 hd1 hd2
So, because a booting (fd0) takes no partitions,
booting with 1 partition wouldn't pass the bios.
As a result, on all further attempts I formatted
all the drive (/dev/hdc) of either 1.44MB or 120MB floppies.
2. grub-floppy /dev/hdc
This command "grub-floppy" used "dd" to write a grub MBR.
This worked and is the best command-line emergency disk ever!
However, I thought I would seek more,
including having menus for kernels on the floppy itself.
3. grub on floppy MBR pointing to regular hard disk.
I successfully ran a regular grub onto the floppy's MBR,
by using images from (and pointing to /boot) elsewhere:
a regular hard disk.
This even presented a menu from the hard-disk's menu.lst.
grub> root (hd2,0) #3rd disk counted by grub, first (0) partition.
grub> setup (hd0) #LS-120 drive, /dev/hdc
grub> quit
THIS WORKS, though I still seek to have menus referring to kernels
on the floppy drive.
4. ** grub on 1.44MB floppy [not 120MB floppy which gave "Geom Error"]
with a device.map .
In this case, I went thru the following detailed steps.
I have a DVD drive on /dev/hda, an LS-120 drive on /dev/hdc,
and 2 scsi drives on /dev/sda and /dev/sdb.
It is necessary that the file device.map be in /boot/grub of the fully-booted-linux-system
to even recognize the device (fd0);
having no effect when on floppy itself (not used during boot).
/boot/grub/device.map #is as follows,
#the following (fd0) is necessary:
** (fd0) /dev/hdc
(hd0) /dev/sda
(hd1) /dev/sdb
mke2fs /dev/hdc
mount /dev/hdc /mnt
mkdir /mnt/boot
mkdir /mnt/boot/grub
cp -p /boot/bzImage-2.4.2 /mnt/boot
##### NOTE: THE "GRUB MANUAL: FAQ", APPENDIX A,
# FOR BOOT-FLOPPY SAYS "YOU MAY NOT COPY stage1.5".
cp -p /boot/grub/{menu.lst,stage1,stage2} /mnt/boot/grub
umount /mnt
grub --device-map=/boot/grub/device.map
grub> root (fd0)
Filesystem type is ext2fs, using whole disk
grub> setup (fd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
#response when leave out e2fs_stage1_5 from floppy:
Checking if "/boot/grub/e2fs_stage1_5" exists... no
Running "install /boot/grub/stage1 d (fd0) /boot/grub/stage2 p
/boot/grub/menu.lst "... succeeded
Done.
grub> quit
THIS THEN BOOTED SUCCESSFULLY FOR 1.44MB FLOPPIES
[BUT NOT FOR A SIMILAR 120MB FLOPPY] WITH MENU;
AND GOING TO COMMAND LINE, GRUB COULD PERUSE THE EXT2
UNPARTITIONED FLOPPY: WONDERFUL.
But I wanted more: just like this 1.44MB floppy but using a 120MB floppy.
Again, putting kernels on the floppy itself and getting a grub menu on boot.
~~~CONFIGURATION:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. I have replaced my floppy drive with an IDE LS-120 (superdisk)
floppy drive.
Since I also have a DVD/CD drive on /dev/hda, the LS-120
drive appears on a fully-booted-linux-system as
/dev/hdc
2. In my 2.4.9 kernel, I have compiled in
CONFIG_BLK_DEV_IDEFLOPPY=y
and some probably uninfluencing options,
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
3. I run Debian Linux woody.
4. I have only two regular hard drives, both scsi,
/dev/sda
/dev/sdb
5. Motherboard
Asus P3B-F, Bios version 1007 Beta 1
[Bios versions 1004 and 1006 produced the same results]
6. grub version 0.90-9
~~~COMMENTS:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Comments.
I prefer the LS-120 because it has a locking switch,
missing from all other non-standard floppy drives
like the Zip drives.
This provides security for tripwire/aide checksum checking,
and possibly booting strictly from a read-only/locked 120MB LS-120
floppy.
The LS-240 drives have come out for USB, using 240MB floppies,
and standard floppies (25 cents US) formattable to 32MB (WOW),
if Linux supports this.
IDE and soon SCSI versions are offered for $170 by
http://www.winstation.com/Superdisk.htm
with model numbers
W0281 Int IDE 1x standard height beige.
W0071 Int SCSI 1x standard height beige, 7.3FW
W0271 Ext SCSI 1x standard height beige, 7.3FW
--
Jameson C. Burt, NJ9L Fairfax, Virginia, USA
jameson@coost.com http://www.coost.com
(202) 690-0380 (work)
You can only find truth with logic if you have already found truth without it.
-- G.K. Chesterton
Reply to: