How do GEOM_PART_* options configure geom_part_* modules??

Warner Losh imp at bsdimp.com
Fri Sep 29 17:18:14 UTC 2017


On Thu, Sep 28, 2017 at 11:54 PM, Kevin Oberman <rkoberman at gmail.com> wrote:

> On Thu, Sep 28, 2017 at 6:09 PM, Rodney W. Grimes <
> freebsd-rwg at pdx.rh.cn85.dnsmgr.net> wrote:
>
>> > On Thu, Sep 28, 2017 at 11:12 AM, Kevin Oberman <rkoberman at gmail.com>
>> wrote:
>> >
>> > > On Thu, Sep 28, 2017 at 9:13 AM, Warner Losh <imp at bsdimp.com> wrote:
>> > >
>> > >> On Thu, Sep 28, 2017 at 10:00 AM, Nick Hibma <nick at van-laarhoven.org
>> >
>> > >> wrote:
>> > >>
>> > >> > I created a new kernel config file from scratch, wondered what the
>> > >> > GEOM_PART_MBR option and friends were doing, search for them,
>> didn't
>> > >> find
>> > >> > them in the tree, and deleted them from my config. But... de
>> resulting
>> > >> disk
>> > >> > image didn't boot, because of the fact that it didn't recognise
>> the MBR
>> > >> > partitions (it only had a single diskid entry on the mount-root
>> prompt).
>> > >> >
>> > >> > Can anyone explain to me how these kernel options work, as in:
>> they are
>> > >> > defined in kernel configs and as a consequence in opt_geom.h, but
>> how
>> > >> are
>> > >> > they actually used to select which geom_part_* modules/kernel
>> parts to
>> > >> > build? I thought these options were translated to stuff that cpp
>> would
>> > >> use,
>> > >> > but there are not uses of for example GEOM_PART_MBR anywhere for
>> > >> example!
>> > >> >
>> > >> >
>> > >> > The module always build them because they are listed in the
>> module's
>> > >> > Makefile.
>> > >> >
>> > >> > The kernel only sometimes does. Here's the key lines from
>> conf/files:
>> > >> > files:geom/geom_bsd_enc.c optional geom_bsd | geom_part_bsd
>> > >> > files:geom/part/g_part_apm.c optional geom_part_apm
>> > >> > files:geom/part/g_part_bsd.c optional geom_part_bsd
>> > >> > files:geom/part/g_part_bsd64.c optional geom_part_bsd64
>> > >> > files:geom/part/g_part_ebr.c optional geom_part_ebr
>> > >> > files:geom/part/g_part_gpt.c optional geom_part_gpt
>> > >> > files:geom/part/g_part_ldm.c optional geom_part_ldm
>> > >> > files:geom/part/g_part_mbr.c optional geom_part_mbr
>> > >> > files:geom/part/g_part_vtoc8.c optional geom_part_vtoc8
>> > >> >
>> > >> > which turn on/off which files get included. config "helpfully"
>> converts
>> > >> the
>> > >> > upper case options to lower case for this.
>> > >> >
>> > >> > Warner
>> > >> >
>> > >> >
>> > >> > *slaps forehead* Goose chase!
>> > >> >
>> > >> > I actually knew that... and, at the time, thought it was weird
>> > >> behaviour.
>> > >> > ''grep" would not have failed me if those options would be
>> uppercase
>> > >> there
>> > >> > ...
>> > >> >
>> > >>
>> > >> I've been nibbled to death by these geese often enough to have a
>> PTSD-like
>> > >> reaction when someone mentions it and habitually add -i to my
>> greps...
>> > >>
>> > >> Warner
>> > >
>> > >
>> > > This horrid POLA violation seems to have been in FreeBSD configuration
>> > > since at least 3.0 and probably goes back to the creation of the
>> > > configuration process.
>> > >
>> > > Any idea why such a horrible POLA was ever introduced? Seems like an
>> > > obviously bad idea in an OS that is ALMOST always case sensitive.
>> > >
>> >
>> > It's received code from the old 4.3 BSD config program (or maybe the
>> net-2
>> > config program).
>>
>> We had best not have any code direct from 4.3 or net-2, it should be from
>> 4.4BSDLite, any code prior to that is subject of the lawsuit.
>>
>>
>> --
>> Rod Grimes
>> rgrimes at freebsd.org
>>
>
> I believe any code in 4.3 BSD that was developed by CSRG was not subject
> of the suit. Copyright on that code by the Regents of UC, not AT&T. (So was
> any code I wrote.) Many utilities were from v8 or descended from AT&T code,
> but a great deal was not. It was what UC was getting paid for.
>

Yea, the suit quickly devolved into the short list of files...

v8 was from BSD that was reimported. That's clear from the TUHS archive. v8
is a big break from v7...

Warner


More information about the freebsd-current mailing list