From: Alan Cox (iiitac@swan.pyr)
Date: 08/04/93


From: iiitac@swan.pyr (Alan Cox)
Subject: Re: Why is there a 1024 cylinder limit in Linux.
Date: Wed, 4 Aug 1993 09:11:14 GMT

In article <1993Aug3.140714.7910@rcn.mass.edu> jprater@rcnvms.rcn.mass.edu writes:
> If there the limitation is in BIOS then I have three questions,
> 1) Why does BIOS work with a drive with 1224 cyl, I can format and
> and run test and even install dos on it (I has to be partitioned,
> but it still works)
Can you install DOS on a partition starting after cylinder 1024 ?. There
are several DOS ways around the problem using loadable drivers or BOOT
roms, or even in many IDE drives by remapping the drive to appear as more
heads less cylinders. The limit is because the BIOS read/write sector
calls take a cylinder argument in 1 byte and 2 bits from another register.
Thus 10 bits 1024 cylinder limit.
> 2) Why is this drive type in the default table for BIOS, type #46
You have a very strange BIOS if it does - is this a SCSI ROM or something
and are you sure its not being remapped
> 3) I still don't understand why Linux kernel should have this limit,
> it should just take the values from BIOS and build the appropriate
> model. It has to resources to do it. It claims to be a real 32bit
> OS not a 8bit one. (Flame not intended, I'm just frustrated)
Linux does handle drives over 1024 cylinders. I'm using a machine with
a disk with over 1024 cylinders at the moment. The only limit I know of
is that the _older_ ex2fs didnt like a partition of over 1Gb, and that
the boot image must be within the 1st 1024 cylinders - on this machine
for DOS, OS/2, Interactive whatever.
>
> PS.
>
> BTW, the SCSI drive I was trying to use, it had 1632cyl, 16 head and
> 54 sectors. I tried to fool Linux be giving it 626cyn,64heads and
> 32 sectors. It complained it could not handle that many heads but
> DOS kept on chugging along. Explain that one.

When you run a SCSI controller with DOS it takes over the work of that
drive. It will remap the disk to suit DOS. Linux shouldn't have any problems
unless people have mistakenly left IDE type size sanity checks elsewhere
in the kernel. If so they are naughty people and shouldn't do it again 8-)

>
PASS: I don't know why Linux should worry about 64 heads. Maybe our great
leader has made a mistaken limit.

Alan