Subject: Re: >8gb disks on Dell Inspiron 3000, any ideas?
To: <>
From: David Laight <david@l8s.co.uk>
List: port-i386
Date: 06/12/2002 17:58:04
On Wed, Jun 12, 2002 at 07:52:49AM -0700, Brian Buhrow wrote:
> Hello folks. I'm trying to install a new disk in my Dell Inspiron
> 3000 laptop computer ant put NetBSD and Windows back on it. Unfortunately,
> the BIOS is not upgradable to the point where it supports >8gb disks.
Erm, 8Gb is 2^24 (512 byte sectors) that is all any BIOS can read using
'CHS' bios calls (because C, H and S are passed in three 8 bit registers).
For 'large' disks you (almost) always see a BIOS geometry of
cylinders: 1023 heads: 255 sectors/track: 63 (16065 sectors/cylinder)
If your BIOS doesn't support >8Gb disks then it won't support LBA
addressing - although the disk definitely will.
> I figured NetBSD would see the 8GB disk through the BIOS,
> the 30GB through the disk inquiry directly, and I'd be set.
True - provided you keep the filesystem that contains /netbsd
in the first 8GB.
> Instead, The disk reports through NetBSD as if it were a generic ST506
> disk with 139264 sectors, although it reports a geometry which works out to
> 8.4GB in size. Worse, it registers as running in PIO mode 0 and uses CHS
> addressing.
Dunno! I've only looked at the boot code :-)
What does fdisk report?
> I know the disk is UDMA100 capable, and the controller was doing UDMA33
> with the previous drive, so shouldn't drive and controller agree on UDMA33?
> Finally, when I try to disklabel the disk, I use the provided
> BIOS geometry, figuring that 8GB is better than 4GB, but I can't do that
> because disklabel says that any partition larger than 139264 sectors is
> beyond the end of the disk.
Wonder where disklabel is getting the disk size from?
Try setting slice 'd' first?
> 1. Is there a known way to work around deficient BIOS's when the disk in
> question is the boot disk?
If the BIOS won't do LBA addressing, you can't read a kernel from
beyomd 8Gb...
>
> 2. How about a way of forcing LBA addressing? can I use the flags
> parameter in the wd* line to force the UDMA33 LBA addressing back into the
> game?
I have a version of mbr_bootsel that can be forced to try LBA addressing.
I would have thought the wd driver would use it almost all the time.
Maybe the driver isn't reporting a 'correct' answer to the drive identify
request - I assume it tries to do one.
> 3. What about getting disklabel(8) to ignore the fact that I'm trying to
> force a label which I know doesn't comply with what it thinks? Is there an
> expert flag I can use?
I'm surprised it checks - it doesn't do any other useful checks
(overlapping slices, moving a slice that has a filesystem mounted,
writing the disklabel to an entirely different piece of disk because the
partition table has changed......)
David
--
David Laight: david@l8s.co.uk