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