NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Trouble partitioning disk



On Wed, 9 Jul 2008, Jonathan A. Kollasch wrote:
On Tue, Jul 08, 2008 at 01:16:08PM -0700, James Colannino wrote:
Hey everyone.  I'm attempting to install the x86_64 version of NetBSD 4.0.
I have a 1.4TB disk, and the installer seems to recognize the geometry of
the disk ok.  However, when it gets to the point where I need to create
partitions, it says that the total amount of space on the disk is negative,
which tells me there's some integer value that's overflowing.

I'm guessing that others have installed NetBSD on volumes larger than this,
so does anyone know why I'm having problems?  Thanks!

Well, the on-disk MBR and NetBSD disklabel structure uses uint32_t
to store partition location and size as a LBA.  2^32 sectors
works out to 2TiB of storage.  So, the only issue is that signed
and unsigned quantities are being mixed in sysinst.  Fixing
that wouldn't solve the real issue though.

Easiest thing would probably be to use a smaller (under 1TiB) disk for
the system drive.  GPT could be used on non-boot drives.

I can confirm that I've successfully use 2TB drives (either RAIDframe or on hardware raid) at least since 3.1. However, I have manually disklabeled and newfsed them and I wasn't using them as the root partition. With the hardware raid (ld0 being 2TB), I stuck with a separate small drive for the root partition (it was some time ago, but this may well be because I ran into exactly the same problem as you).

For the RAIDframe method, I had either 4x750GB or 4x1TB disks, but created a small (2GB) RAID-1 root partition (raid0) and swap (raid1), with the remainder as RAID-5 (raid2). If raid2 < 2TB, it could be disklabeled and then raid2a newfsed as expected. If raid2 > 2TB, then (with a small tweak I made to the kernel array size printing) it is possible to newfs the raw device raid2d. This works with 3.1 and 4.0.

--
Stephen



Home | Main Index | Thread Index | Old Index