Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Jan 2009 12:40:41 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        marcel@FreeBSD.org, freebsd-sparc64@FreeBSD.org
Subject:   Re: invalid disk label on updated current ultra60
Message-ID:  <CB041EF6-A387-4F9F-A07E-CF604DC227E2@mac.com>
In-Reply-To: <20081231194741.GA57089@alchemy.franken.de>
References:  <6b8e8f4f0812281128lf48f391r38f063f7f797404@mail.gmail.com> <20081231194741.GA57089@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help

On Dec 31, 2008, at 11:47 AM, Marius Strobl wrote:

> On Sun, Dec 28, 2008 at 09:28:49AM -1000, David Cornejo wrote:
>> Hi,
>>
>> I've got an ultra60 that works fine with a kernel built Nov 22nd  and
>> new kernels starting at least a couple of days ago claim that the
>> disklabel on da0 & da1 are invalid and mounting root fails.  This  
>> is a
>> fairly old system that was probably installed with 6 or 7 and  
>> upgraded
>> to 8.  I haven't seen this problem on my x86/amd64 machines is there
>> some incantation to make the disklabels valid?
>>
>
> Apparently the problem are labels (originally) generated by
> Solaris, which uses the native geometry reported by the
> target rather than a synthetic one based on 255 heads and
> 63 sectors as demonstrated by the following format(1M) output
> for two identical disks, the first labeled with format(1M)
> and the second with sunlabel(8) (after zeroing the previous
> one):
>       0. c1t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
>          /pci@1f,700000/scsi@2/sd@0,0
>       1. c1t1d0 <FreeBSD68G cyl 8922 alt 2 hd 255 sec 63>
>          /pci@1f,700000/scsi@2/sd@1,0
>
> The 63 sectors limit of GEOM_PART_VTOC8 also causes problems
> with IDE disks > 32GB where FreeBSD uses a synthetic geometry
> based on 255 sectors like Solaris does in order to circumvent
> the 16-bit cylinders, heads and sectors fields of the Sun and
> VTOC8 disk labels. I think the upper limits for heads and
> sectors therefore should be just removed from GEOM_PART_VTOC8,
> which should also be safe, i.e. no upper bound needed, as done
> by the below patch in order for their maximum value to be used.
> Marcel, are you okay with this? Do you have a good idea how
> to avoid the warning regarding geometry mismatch for labels
> created by Solaris?

I'm perfectly happy with it. The limits are mostly PC BIOS
specific, though I kept them under the assumption that 1)
they would hold for sparc64 and 2) we may make assumptions
out the geometry in differenmt parts of the FreeBSD source
base.

It seems the limits simply don't hold, so it's better to
remove them and deal with problems in other parts of the
source tree if we encounter them.

As for the warning: I made the geometry mismatch visible
so that we can work the problem. If it's something that
we cannot fix on sparc64 because Solaris uses the native
geometry and we never do (for example), then we should
just get rid of the warning and add a comment instead...

FYI,

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CB041EF6-A387-4F9F-A07E-CF604DC227E2>