can't mount root during freebsd-update 7.0 -> 8.1 on amd64

joost at jodocus.org joost at jodocus.org
Tue Dec 7 18:09:57 UTC 2010


> 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.
>
> 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?

I'm assuming I'm not the first person to try 8.x on amd64 with an mbr on a
disk so there must be something 'special' with this system...


Joost.



More information about the freebsd-questions mailing list