August 1st, 2003, 02:45
Installboot: unable to get BIOS geometry, must use -h or -s I think it said. I tried fdisk fd0 and get all sorts of time outs. I did have FBSD on this machine and it booted fine. I have installed this about 3 times tonight....always the same outcome. Also installed it on a diff machine today with no issues at all.

Any suggestions?

August 1st, 2003, 08:58
possible bad hard drive? or has bad sectors?

August 1st, 2003, 10:44
How large is your root partition? I know a lot problems come up if you made it over 8 gig. Ive seen a few hits on this from google you may want to try.


August 1st, 2003, 10:59
Root is 100MB. Bad sectors possible, didnt have trouble with FBSD though.

August 1st, 2003, 11:43
Found this in the FAQ:

14.8 - Installing Bootblocks - i386 specific

Older versions of MS-DOS can only deal with disk geometries of 1024 cylinders or less. Since virtually all modern disks have more than 1024 cylinders, most SCSI BIOS chips (which come on the SCSI controller card) and IDE BIOS (which is part of the rest of the PC BIOS) have an option (sometimes the default) to "translate" the real disk geometry into something that fits within MS-DOS' ability. However, not all BIOS chips "translate" the geometry in the same way. If you change your BIOS (either with a new motherboard or a new SCSI controller), and the new one uses a different "translated" geometry, you will be unable to load the second stage boot loader (and thus unable to load the kernel). (This is because the first stage boot loader contains a list of the blocks that comprise /boot in terms of the original "translated" geometry). If you are using IDE disks, and you make changes to your BIOS settings, you can (unknowingly) change its translation also (most IDE BIOS offer 3 different translations). To fix your boot block so that you can boot normally, just put a boot floppy in your drive (or use a bootable CDROM) and at the boot prompt, type "b hd0a:/bsd" to force it to boot from the first hard disk (and not the floppy). Your machine should come up normally. You now need to update the first stage boot loader to see the new geometry (and re-write the boot block accordingly).
Our example will assume your boot disk is sd0 (but for IDE it would be wd0, etc..):

# cd /usr/mdec; ./installboot /boot biosboot sd0

If installboot complains that it is unable to read the BIOS geometry, at the boot> prompt you may issue the "machine diskinfo" (or "ma di" for short) command to print the information you need. Feed the "heads" and "secs" values to installboot's -h and -s flags, respectively, so that the modified installboot command is the following:

# cd /usr/mdec; ./installboot -h <heads> -s <secs> /boot biosboot sd0

If a newer version of bootblocks are required, you will need to compile these yourself. To do so simply:

# cd /sys/arch/i386/stand/
# make && make install
# cd /usr/mdec; cp ./boot /boot
# ./installboot /boot biosboot sd0 (or whatever device your hard disk is)

August 1st, 2003, 12:23
Wow, thanks for digging that up. So in other words, it is a 10 yrd old 1G HD. Throw it in the corner and pull another 1G HD out of a box.....sounds about the best fix. :wink: