Title: Large IDE Drive Problems with NEXTSTEP 3.2 Entry Number: 1650 Last Updated: <<Date June 17, 1997>>
The NEXTSTEP 3.2 IDE driver uses your computer's BIOS to retrieve IDE drive geometry. Because of this, there is a problem that may occur when installing NEXTSTEP 3.2 on drives larger than 504Mb.
Your motherboard's BIOS may report translated IDE drive geometry that confuses the NEXTSTEP 3.2 IDE driver and causes a kernel panic. Most BIOSes will fake the actual geometry for disks that exceed the imposed limitations by performing a translation. As an example, if the disk is actually 2048 cylinders, 16 heads, and 63 sectors per track, the BIOS may translate this to 1024 cylinders, 32 heads, and 63 sectors per track.
The geometry limitation of 1024 cylinders, 16 heads, and 63 sectors per track stems from a combination of both the ATA specification and your BIOS's limits. The IDE limitations are set in the original ATA specification (see http://www.symbios.com/ftp/pub/standards/io/ata/ata-r4c.txt) . BIOS limits come from the INT 13 read/write calls that combine a 10 bit cylinder value with a 6 bit sector value into a 16 bit register. The following table demonstrates how each contributes to the limitation. BIOS IDE Limitation
Maximum Cylinders 1024 65536 1024
Maximum Heads 255 16 16
Maximum Sectors/Track 63 255 63
Maximum Capacity 7.84GB 127.5GB 504MB
If your drive exceeds this limit and the BIOS performs a translation, you may see messages similar to the following during the first phase of installation:
/private/tmp/mnta: bad dir in0 18435 at offset 0: mangled entry
mode = 077430, inum = 18437, fs = /private/tmp/mnta
panic: (cpu0) ialloc: dupalloc
panic: next mach 3.2: <date>; root(rcbuilder): mk-149.30.15.obj~ 2/rc_i386/release_I386
kernel panic exception (6,3,1)
waiting for remote debugger connection
Most drives have flexible configurations and permit of a range of cylinders, heads, and sectors from the system setup utility. You will have to modify these parameters so that they do not exceed the limits imposed by the BIOS and those outlined in the ATA specification. The resulting maximum capacity of the drive's geometry should not exceed any one of the following parameters:
1024 cylinders x 16 heads x 63 sectors/track x 512 bytes/sector Yielding a maximum of 528 482 304 bytes (504Mb)
Other drives will have jumper switches which must be set to break the drive into two separate drives, effectively creating a primary and secondary disk from a single IDE drive.
If your large drive does not allow for this configuration, it may be unable to be used with NEXTSTEP. This case is rare, and you should contact the supplier or manufacturer of the drive for assistance.
In addition to the standard IDE driver, NEXTSTEP 3.3 includes a revised IDE driver that resolves the geometry problem. This updated driver asks the disk for its geometry instead of obtaining it from the BIOS. If you are currently using the NEXTSTEP 3.2 IDE driver and will be upgrading to NEXTSTEP 3.3 (or later), you may use the revised IDE driver but you will have to both reset the BIOS settings and reinitialize the drive (reinstall all operating systems). However, you may continue to use the standard IDE driver with no difference in operation.