From owner-freebsd-current Sat Nov 23 13:08:38 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA13451 for current-outgoing; Sat, 23 Nov 1996 13:08:38 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id NAA13413; Sat, 23 Nov 1996 13:08:20 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.3/8.6.9) id HAA04600; Sun, 24 Nov 1996 07:52:00 +1100 Date: Sun, 24 Nov 1996 07:52:00 +1100 From: Bruce Evans Message-Id: <199611232052.HAA04600@godzilla.zeta.org.au> To: fenner@parc.xerox.com, freebsd-current@freebsd.org, jkh@freebsd.org, phk@freebsd.org Subject: Re: 2.2-ALPHA install failure Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >reasonably well, it won't reboot the new disk. I used the "dangerously >dedicated" mode, so that I wouldn't have to deal with partition tables >and weird track values and stuff. Woo, was I wrong. The very first >thing the install said to me was that the value of 4839 cylinders, 109 >sectors/track was ridiculous and that it was setting it to 64/32. Er, >ok, whatever. 4839 cylinders, 109 sectors/track and some small number of heads is a normal semi-physical drive geometry (4839 is probably physical and 109 is probably the average). 64/32 is a normal BIOS geometry. 109 sectors/track can't be used because the BIOS and the DOSpartition table only have 6 bits for the sector number. 64/32 should only be used for drives smaller than 1GB since it causes the number of cylinders to be > 1024 on larger drives. Since most new drives are larger than 1GB, 64/32 should never be used :-). >When I tried booting the drive as sd2, I would try either 2:sd(2,a)/kernel >or just sd(2,a)/kernel, and get: > >dosdev = 82, biosdrive = 2, unit = 2, maj = 4 >Invalid format! I'm not sure what would cause that. Old versions of sysinstall had a bug that caused the geometry to appear to be 1/1 to the kernel. The ncr BIOS has more robust geometry detection than the kernel, and I think the 1/1 geometry is invalid so it would be rejected by the ncr BIOS and a default geometry that should work for (the dedicated case only ) would be used. Older versions of sysinstall did not attempt to set the geometry by writing a dummy DOSpartition table, and the kernel has kludges to make this case work - in particular it gives no chance of getting a 1/1 geometry. >Ok, so I unplugged the flaky drive from the SCSI bus, so that the new drive >is now the second SCSI disk; maybe it was having trouble with loading stuff >off of the third disk. Now I get the dreaded: > >Error: C 2000>1023 (bios limit) error. I booted the fixit floppy, This might be caused by different handling of the partition table by a different controller. >checked the disklabel, and discovered that the installer had written >a disklabel with 1 sector per track, 1 track per cylinder, 1 sector >per cylinder, and 2000000+ cylinders. I got the proper data for my disk Sysinstall apparently still has the bug. This is caused by making the partition size and/or end one sector too large, so that the ending head/sector numbers are 0/1 instead of max_head/max_cylinder. This confuses the kernel since by definition a valid BSD slice ends at a cylinder boundary to help the kernel detect the geometry. This important requirement seems to be unknown to most install programs and persons :-(. The SCSI BIOS is unlikely to think that the geometry is 1/1. It should see that the partition table is invalid and switch to a default. The defaullt is unlikely to be what sysinstall used, but it should work (in the dedicated case only) for an ncr BIOS. Lesser BIOSes may always default to a 64/32 geometry which won't work if any part of the kernel is above 1GB. >from the Seagate web page and edited it into the disklabel. The bootstrap >still complains that C 2000>1023, even though disklabel -r /dev/sd1c >shows that the a partition goes from cylinder 0 to 150. The geometry reported by disklabel is independent of both the physical geometry and the BIOS geometry. Install programs and persons should make it identical with one of these geometries to minimise confusion. Bruce