can't mount root during freebsd-update 7.0 -> 8.1 on amd64
srandall52 at gmail.com
Tue Dec 7 19:56:53 UTC 2010
On Tue, 7 Dec 2010 19:09:53 +0100
joost at jodocus.org wrote:
> > 2010/12/5 <joost at 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
More information about the freebsd-questions