Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Oct 1995 11:22:59 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        markem@primenet.com (Mark Monninger)
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Big IDE Drives
Message-ID:  <199510061823.LAA01880@phaeton.artisoft.com>
In-Reply-To: <199510060156.SAA05713@usr3.primenet.com> from "Mark Monninger" at Oct 5, 95 06:56:30 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> I recently purchased a 1.2G IDE drive, planning to partition it between
> Windoze and FreeBSD. I have BSD running off a partition of a 420M drive now
> with no problems. Since my disk controller, which uses a WD chip, won't
> handle drives > 500Mb or so, I also purchased a card which I believe has a
> BIOS extension that handles > 500Mb drives. OK...the drive works fine with
> DOS/Windoze but now FreeBSD won't boot at all from the 420Mb drive. It just
> sits there...no nuthin. If I remove the BIOS card it works fine. Of course,
> then the 1.2G drive isn't happy. Will FreeBSD work with LBA drives? Am I
> just SOL with the big drive? I know...I shoulda went with SCSI but it's a
> lot more $$. I can get a controller board that handles the big drive but I
> don't know if it will work either. I'm running FreeBSD 2.0.5, I believe. I
> found an old 386bsd boot floppy from a while back and it boots OK with the
> BIOS board. 

The controller uses LBA ("Logical Block Addressing" or what the rest of the
world has called "sector offset" since Winchester drives were invented).

This is a BIOS abstraction that plugs in at INT 13 and INT 21, though
not all software uses the extended INT 21 interface.  So the drive
looks like a standard C/H/S addressed drive with an 8G limit to most
DOS software.

To take full advantage of this, you will need to have a new driver.

Here's your opportunity to get into kernel hacking.  All us long time
hackers use SCSI.


The reason that the 386BSD boots is that it uses a controller-specific
boot block and does controller level instead of BIOS level I/O.  The
386BSD boot won't work on translate geometry, though, unless you use
the whole drive for 386BSD and don't have a DOS MBR (it will get lost
when it tries to locate the partition when it multiplies the C/H/S
values for the partition it wants to boot by the wrong geometry).

FreeBSD still has (I believe) WD and AHA 1542/1742 boot blocks that
you *could* write using disklabel.  Still assuming no DOS partition
table on the drive.

A secondary issue is that you must have partitioned the drive with a
modern DOS, since older DOS pur the wrong sector offset in the
partiton table (a 32 bit value corresponding to the 24 bit C/H/S
address).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510061823.LAA01880>