Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Dec 2000 11:27:07 +0100
From:      "Jose M. Alcaide" <jose@we.lc.ehu.es>
To:        mupi@mknet.org
Cc:        stable@FreeBSD.ORG
Subject:   Re: The trouble with boot0
Message-ID:  <3A2CC2FB.7ACDF0B6@we.lc.ehu.es>
References:  <200012042029.eB4KTDs02259@nordier.com> <00120414014303.00662@mukappa.home.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Porter wrote:
> 
> (this may be different on different BIOSes)
> Auto=attempt to select the best match for the drive based on the results of
> the IDE identify commend.  I'm not sure what rules it uses, but if you format
> a drive with "LBA" it seems to usually autodetect as LBA in the future.

I will try that.

> Normal=no drive can bigger than the original BIOS limitations (540Mb, as I
> recall, though DOS couldn't seem to find anything between 512 and 540....)
> Using this is pretty foolish unless you have an old small drive, as it makes
> it physically (or rather, logically) impossible to access anything past the
> 540Mb limit

Yes. I think that 504 MB (1024 C * 16 H * 63 S) is the figure.

> LBA= a "kludge" to allow larger drives to work.  Works because drives grew in
> a different direction than the original BIOS designers expected, I guess.  I
> won't go into the details becuase I will almost certainly get flamed for
> getting the wrong <(}:  Besides, I think most people understand, at least in
> principle, how LBA works.

LBA = Logical Block Addressing. My understanding is that the modern IDE
disks support this access mode (by sector number instead of CHS specification),
just as SCSI drives work.

> Large=do away with the BIOS limitations on the size of the CHS designation
> altogether.  This allows "straight" CHS access to drives larger than 540MB,
> BUT it breaks on stodgy OSen like DOS (and windoze, at least windoze on a
> Fat16, IIRC fat32 allows this sort of behavior (or behaviour if you
> prefer...)).  When running an OS, such as *BSD that doesn't seem to natively
> care what size the C, H, and S fields are, it makes sense to use large
> because you don't need to worry about a BIOS bug in the LBA translation, and
> (I believe) it is faster becuase LBA requires the BIOS to translate the CHS
> address to a "real" CHS address before a write can happen.  granted this
> performace increase is pretty slim, but hey, some people want every last
> ounce they can get....

My theory about how LARGE mode works is the same. I think that boot0
fails to boot the same slice which it was able to boot when the
disk is in LBA mode because the geometry used to create the slices
does not match with the real geometry used by the LARGE mode, but
I am not sure of this.

Anyway, since FreeBSD's ata(4) driver does not use the BIOS for accessing
the disks, I don't think that the BIOS setting for the disk mode could
influence the performance in any way. In fact, I have several old PCs
whith modern IDE drives (which are not supported by the old BIOSes) running
FreeBSD without any problems.

> The upshot of all this is that LBA and LARGE are NOT the same thing, and
> don't like each other very much.  If you aren't concerned with running
> Windoze on your machine, I'd chose "large"  FWIW, if you want to really
> confuse the hell out of your machine, format and install an OS as LARGE and
> then force switch it to LBA <(}:

I hate the PCs :-) Unfortunately, I need them (or Alpha hardware) for
running my favorite OS. Do you guess what? ;-)

Cheers,
-- JMA
****** Jose M. Alcaide  //  jose@we.lc.ehu.es  //  jmas@FreeBSD.org ******
** "Beware of Programmers who carry screwdrivers" --  Leonard Brandwein **


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A2CC2FB.7ACDF0B6>