----- Original Message ----

> From: walt <w41...@gmail.com>
> To: gentoo-user@lists.gentoo.org 
> On 02/26/2010 06:23 PM, BRM wrote:
> >> From: Mark Knecht
> >> On Fri, Feb 26, 2010 at 4:09 PM, walt wrote:
> >>> Is there really any need for the "cylinder" these days?
> >> Who cares what cylinder it's on, and
> >> who cares which head is getting the data? It doesn't matter to us
> >> users...
> > ...Boot Loader writers (e.g. grub) need to care about it since LBA
> > is not quite available right away - you have to focus on other things
> > until you can load the rest of the boot loader.
> Ah, this may be a big part of what's confusing me because I've done a
> lot of playing around with grub.
> At what point *does* LBA become available, and who makes it available?
> Is this one of those stupid BIOS things?

It becomes available once you can start processing enough instructions to 
support it.

Boot Loaders are typically broken into two or three parts: Stage 1, Stage 2, 
and (optionally) Stage 3.
Stage 1 focuses solely on loading Stage 2, and has historically been limited to 
a total size[1] to 512 bytes, actually 510 bytes as you should have a 2 byte 
bootable id at bytes 511 and 512). This limitation is primarily because the 
BIOS loads just the first sector on the bootable disk (identified by those two 
bytes) into memory. Now perhaps someone may be able to write assembly craftily 
enough to use LBA in the first stage.

Usually LBA is enabled in Stage 2 - since more code space is available you can 
do more - enable protected/long mode, page memory, load more code from disk, 
etc; so you don't have as many limitations. Intel/etc. were looking to change 
this somewhat with the EFI BIOSes, but I'm not sure that succeeded.

You'll have to talk to the grub/lilo/etc guys to get a better feel for this; 
but that's what I'm aware of.

Ben

[1] on x86 at least, other systems (e.g. Sun SPARC) build more into the "BIOS" 
to boot
loaders get more functionality faster and don't have to worry about it.


Reply via email to