Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Dec 2000 14:01:43 -0700
From:      Mike Porter <mupi@mknet.org>
To:        Robert Nordier <rnordier@nordier.com>, jose@we.lc.ehu.es (Jose M. Alcaide)
Cc:        stable@FreeBSD.ORG
Subject:   Re: The trouble with boot0
Message-ID:  <00120414014303.00662@mukappa.home.com>
In-Reply-To: <200012042029.eB4KTDs02259@nordier.com>
References:  <200012042029.eB4KTDs02259@nordier.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mon, 04 Dec 2000, Robert Nordier wrote:

> > Perhaps I am abusing of your patience, but I have another question ;-)
> > The BIOS setup of the problem machine offers four choices for the
> > HD mode: AUTO, NORMAL, LBA and LARGE. The NORMAL and LBA modes work with
> > the packet mode of boot0; however, LARGE does not work, and this
> > is the mode selected by the BIOS if I put the HD in AUTO mode.
> > I am simply asking for an explanation of this behavior, or a pointer
> > to any document about this subject. Could you help me?
>
> I've really no idea what LARGE does, specifically.  I've always
> thought of it as just a synonym for LBA, but that evidently doesn't
> apply to your BIOS.

(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.

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

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.

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.... 

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 <(}:

mike

mike
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.3 (FreeBSD)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjosBjcACgkQZ7GovTQbIm6d/wCghcIWZ5UHnJ2gkJRFYE0iFWt+
FfYAn1sELovxjIqpJeatQYWe1L4CV4+C
=rJvS
-----END PGP SIGNATURE-----


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?00120414014303.00662>