There is a bit of a misunderstanding about this, unfortunately propagated by Low End Mac.
The 8GB limit is an Open Firmware limitation. It affects the Rev A-D iMac regardless of OS, but not the Beige G3 if running Mac OS 9.2.2 or below. This is presumably because it loads the ATA driver from Toolbox rather than OF.
Whatever the reason, my testing has shown that a Beige G3 will boot classic Mac OS not just off a partition that extends past the 8GB limit, but also one that is *completely* outside the first 8GB.
The iMac is different, and I found that it would refuse to load a Mac OS ROM file past the 8GB limit.
The Beige G3 has a Mac ROM in ROM.
The iMac uses Open Firmware to load a tbxi file ("Mac OS ROM" or BootX) from a system folder.
There is code in Open Firmware to detect LBA but it has a bug until Open Firmware 3.2.4f1.
The LBA detection bug is also fixed in these:
- 3.1.1f4 B&W G3
- 3.1.2f2 G4 Yikes
For 3.1.0f1 PowerBook G3 Lombard, there are two Open Firmware ATA drivers. LBA detection is correct for
ata-disk package (used for
ata-3/disk devices where
ata-3 is a
heathrow-ata compatible device) (similar to B&W G3, Yikes). LBA detection is not correct for
pci104c,ac1a (Texas Instruments PCI1210) or
pci104c,ac1e (Texas Instruments) PCI1211 CardBus bridges.
These versions have incorrect LBA detection (Ignoring versions of Open Firmware that are
headerless):
- 2.0a9 Power Express (9700 Prototype)
- 2.3 Power Express (9700 Prototype)
- 2.4 Beige G3 rev C
- 2.4 Beige G3 rev D
- 3.1.3f2 iMac (233 MHz) Bondi Blue
- 3.1.3f2 iMac (266,333 MHz)
4.3.2f1 adds 48-bit LBA support.
Earlier LBA is 28-bit (128 GiB) which has the same limit as CHS (actually CHS limit is 127.5 GiB)
The 8 GiB limit comes from using CHS since LBA is not detected correctly.
CHS can do 127.498 GiB if the HD reports 65535 cylinders, 16 heads, and 255 sectors.
CHS can do 7.87 GiB if the HD reports 16383 cylinders, 16 heads, 63 sectors per track = 16514064 blocks like some 9.54 GiB HDs do.
My Open Firmware Extender 2.4 has a small patch to enable LBA28 which can fit in nvramrc.
The
heathrow-ata Open Firmware fcode driver exists for Open Firmware 2.x up to 4.9.6f0. I'm currently working on a method to add LBA48 support (actually limited to LBA32 in Open Firmware) by replacing the entire ide and disk fcode images (i.e. doesn't fit in nvramrc) using the fcode from 4.9.6f0. And I have modified kexts for Mac OS X to support LBA48 for padington/heathrow/ohare ATA and for CMD646 for the B&W G3 which I haven't tested yet.