Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Dec 2010 13:26:56 -0600
From:      Steve Randall <srandall52@gmail.com>
To:        joost@jodocus.org
Cc:        David DEMELIER <demelier.david@gmail.com>, freebsd-questions@freebsd.org
Subject:   Re: can't mount root during freebsd-update 7.0 -> 8.1 on amd64
Message-ID:  <20101207132656.260bf792@locust.local>
In-Reply-To: <b79e6d97c9d4c7cbd623dcb943a8800f.squirrel@jodocus.org>
References:  <d4da7a77756c4678132be5f2a147ce56.squirrel@jodocus.org> <AANLkTikPSSTeOWHbKfypisrdRjrA7uPP_GMRZ5qNkHsT@mail.gmail.com> <b79e6d97c9d4c7cbd623dcb943a8800f.squirrel@jodocus.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 7 Dec 2010 19:09:53 +0100
joost@jodocus.org wrote:

> > 2010/12/5  <joost@jodocus.org>:
> >> Hi
> >>
> >> I'm trying to upgrade a amd64 box from 7.0-RELEASE to 8.1-RELEASE with
> >> freebsd-update. After the first reboot the 8.1R GENERIC kernel loads
> >> (I'm
> >> using a custom kernel, so at this point the generic kernel is loaded
> >> manually)
> >> It then claims it can't mount /
> >>
> >
> > GEOM_PART becomes the default slicer
> >
> > Status: Committed to -CURRENT
> > Will appear in 8.0: sure
> > Author: Marcel Moolenaar & others
> > Web: commit message
> >
> > GEOM_PART (gpart) is a new GEOM partition class (slicer) and utility
> > that rolls up support for many partitioning formats (MBR, BSD, GPT
> > etc.) into a single code base.
> >
> > NOTE: Caveat when upgrading! GEOM_PART might interpret existing
> > partition tables (especially if many operating systems are present -
> > multi boot) differently than the previous classes. Your devices might
> > get renamed.

I guess that's the key paragraph.


> >
> > NOTE: Some old utilities like bsdlabel may not work if the kernel
> > doesn't include GEOM_BSD and other old slicer classes. In other words,
> > bsdlabel et al don't work with GEOM_PART.
> >
> > Maybe you're encountering this trouble right now. what I would advise
> > you is using labels. Please do the following :
> >
> > tunefs -L root /dev/ad4a
> > tunefs -L var /dev/ad4e (assuming it's e on your system ?)
> > and for usr, tmp, etc ...
> >
> >>From a fixit environment. then edit your /etc/fstab and place
> > /dev/ufs/root /dev/ufs/var instead of hardcoding the device node.
> >
> 
> Adding labels to the partitions doesn't help. I've tried both UFS and GEOM
> labels. You did point me in the right direction though.
> 
> If I load geom_mbr my partitions show up and all is well. I think it was
> actually the slice that wasn't recognized.
> 
> geom_part should have recognized the mbr, right? I've scanned
> g_part_mbr_probe() and all the checks it does should succeed. DOSMAGIC is
> there. The first byte of each row in the partition table is either 0x80 of
> 0x00. geom_part seems to do first match when probing. is there a way for
> me to find out which geom_part_* module is staking a claim on my mbr?

You mean "on ad4".

$ gpart show ad4

Your disk was at one time "dangerously dedicated" and later converted
to MBR. But there is still an obsolete BSD label in block 1 of the disk.

# dd if=/dev/zero of=/dev/ad4 seek=1 count=1



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