[Techtalk] FreeBSD on ancient Pentium BIOS upgrade question

Alvin Goats agoats at compuserve.com
Sun Apr 9 02:19:01 EST 2006


I did some work on this last night.

I have a Seagate ST3160023A  160G HD and an old Pentium-S MMX 133MHz 
machine with a CD-RW drive, 32M RAM. The HD is incompatable with my BIOS.

To get FreeBSD 3.1 to boot (there are some OTHER BIOS issues that 
certain bootable CD formats won't boot, including the ISO image used in 
FreeBSD 6.0 while el torito will boot), I did the following:

NOTE: this also applies to Linux as I did the same with Slackware 7.0  
last night (current is 10.2, but it's that ISO boot image thing...)

Check the Seagate site for the default and alternate drive 
configurations, you'll need this later and the info is NOT in the 
drive's manual. On my drive it is:

Default:    16383 cylinders, 16 heads, 63 sectors   (cylinder count is 
outside my BIOS's range)
Alternate  1023 cylinders, 255 heads, 63 sectors  (the cylinder count is 
within my BIOS's range)

Install the HD.

Tell the BIOS that the drive is not used.  Linux and BSD both bypass the 
BIOS and probe everything independently, so we don't need to let the 
BIOS know about the drive yet.

Set the BIOS to boot the CDROM.

Put in the Install CD-ROM for your package.

Save the BIOS and reboot.

When the CD boots up and you get to the point to configure your disks:

Linux:   use fdisk to access the drive. Go into expert mode and set the 
cylinders, heads and sectors per the alternate settings. Set up the 
partitons and write to the disk. It may also help to set the drive to 
DOS compatability mode (c on the regular menu).

FreeBSD:  use the G command and change the cylinder, heads sectors to 
the alternate settings. Go through and set up your swap and filesystem 
partitions and configure /, /var, and /usr as required.

Install the software you want as you normally would with a lower 
capacity drive.

When the install is complete, reboot the drive and go into the BIOS. 
Tell the BIOS you have a hard drive and either let the BIOS scan and 
select for you, or manually set the BIOS to "USER" with the largest 
capacity the BIOS has. Save  the BIOS settings and reboot.

You should have an old PC running an "incompatable" new drive.


NOTE: most BIOS's know how to boot a floppy and can read a floppy image, 
which is what the el torito boot image is. The new ISO image may be much 
larger than a 2.88 M Extra Density Floppy and consequently the BIOS 
can't read the CD to boot it. I haven't explored the different versions 
of other distributions or OS's, so I can only really speak for the ones 
I do have.

FreeBSD 3.1 Install CD is bootable, the 6.0 is not.

Slackware is CD bootable to 7.1, you have to make the boot floppies from 
later versions so that you have something running other than the BIOS 
that can run the CD.

NetBSD is bootable in all versions up to last year. I believe it is 
supposed to still be bootble for maximum platform compatibility.

Hope this helps!

Alvin






More information about the Techtalk mailing list