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

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 3, 2009 at 10:40 AM, Marcel Moolenaar <xcllnt@mac.com> wrote:
>
> 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

The committed change solved my problem, many thanks!

dave c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6b8e8f4f0901061309h50535c58ue436da56213b70b8>