gpart oddity

Andriy Gapon avg at icyb.net.ua
Wed Oct 22 22:58:53 UTC 2008


on 23/10/2008 01:09 Marcel Moolenaar said the following:
> 
> On Oct 22, 2008, at 2:58 PM, Andriy Gapon wrote:
> 
>> on 23/10/2008 00:03 Marcel Moolenaar said the following:
>>> On Oct 22, 2008, at 1:46 PM, Andriy Gapon wrote:
>>>> I'll try to boot into a new kernel now (the one without GEOM_MBR and 
>>>> GEOM_BSD).
>>> Could you send a quick "it works" message if this was the
>>> problem?
>>
>> Unfortunately, no. But I can't really tell what's going wrong.
>>
>> I do a verbose boot, but I don't see any GEOM message whatsoever after
>> GEOM: new disk ad4
>> And then kernel can not find root filesystem and at the prompt it 
>> reports that it sees only slice devices, ad4s1 and ad4s2, but not 
>> ad4s1a or any other partition.
>> So I can not complete booting and I don't know how to debug that.
> 
> It's possible that I haven't merged all the changes from
> HEAD to 7-stable. Try the following patch:
> 
> Index: g_part_bsd.c
> ===================================================================
> --- g_part_bsd.c    (revision 183454)
> +++ g_part_bsd.c    (revision 183455)
> @@ -293,7 +293,7 @@
>      magic2 = le32dec(buf + 132);
>      g_free(buf);
>      return ((magic1 == DISKMAGIC && magic2 == DISKMAGIC)
> -        ? G_PART_PROBE_PRI_NORM : ENXIO);
> +        ? G_PART_PROBE_PRI_HIGH : ENXIO);
>  }
> 
>  static int

Yes, that was it, thank you again!
Now I can successfully boot and 'gpart show' reports properly-looking 
information.

One hopefully last question: is disklabel supposed to keep working in 
this new world or should I switch to gpart command exclusively?

$ gpart show ad4s1
=>        0  587191752  ad4s1  BSD  (300.6GB)
           0    2097152      2  freebsd-swap  (1073.7MB)
     2097152    2097152      1  freebsd-ufs  (1073.7MB)
     4194304   52428800      4  freebsd-ufs  (26.8GB)
    56623104  530568648      5  freebsd-ufs  (271.7GB)

$ disklabel ad4s1
# /dev/ad4s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
   a:  2097152  2097215    4.2BSD        0     0     0
   b:  2097152       63      swap
   c: 587191752       63    unused        0     0         # "raw" part, 
don't edit
   d: 52428800  4194367    4.2BSD        0     0     0
   e: 530568648 56623167    4.2BSD        0     0     0
partition c: partition extends past end of unit
disklabel: partition c doesn't start at 0!
disklabel: An incorrect partition c may cause problems for standard 
system utilities
partition e: partition extends past end of unit

It seems like offsets in disklabel output are now absolute (from start 
of ad4), but previously they were relative to ad4s1 start:

> $ disklabel ad4s1
> # /dev/ad4s1:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   a:  2097152  2097152    4.2BSD        0     0     0
>   b:  2097152        0      swap
>   c: 587191752        0    unused        0     0         # "raw" part,
> don't edit
>   d: 52428800  4194304    4.2BSD        0     0     0
>   e: 530568648 56623104    4.2BSD        0     0     0

-- 
Andriy Gapon


More information about the freebsd-geom mailing list