When building OpenBMC . . . ?
Ed Tanous
ed at tanous.net
Wed Sep 2 02:09:33 AEST 2020
On Tue, Sep 1, 2020 at 5:26 AM Patrick Williams <patrick at stwcx.xyz> wrote:
>
> On Sun, Aug 30, 2020 at 10:02:41PM +0000, Bruce Mitchell wrote:
> > When selecting Target hardware https://github.com/openbmc/openbmc#3-target-your-hardware
> > to build for the is a tiogapass, now if I add a meta-phoenix/meta-tiogapass/conf how does
> > source setup tiogapass build
> > know which tiogapass to build?
>
> https://github.com/openbmc/openbmc/blob/master/setup#L34
>
> The setup script just does a wildcard, which means you'll get the
> alphabetically ordered machine. In this case, you should get the
> meta-facebook one selected before the meta-phoenix (supposing they both
> exist).
>
> > Or am I not supposed to choose a name (i.e. tiogapass in this example) that is already in the list
> > when I need to create a new meta-phoenix/meta-<machine>/conf?
>
> The overwhelming preference seems to be to not make another
> configuration with the same machine, and as one of the maintainers of
> meta-facebook, I agree in this case. But, this answer doesn't solve
> your underlying question.
>
> I suspect you're going to make two kinds of changes:
> 1. Features you want to enable on Tiogapass that Facebook isn't
> interested in. (I would cover bmcweb 'branding' changes here
> also).
bmcweb branding is a machine independent feature. At some point we
might have the webui feature enable/disable things again, and who
knows, maybe we need machine specific branding, but I want to avoid it
wherever possible.
> 2. Fixes and configuration due to features we haven't enabled yet or
> fully vetted.
>
> #2 should go into either meta-facebook (or the underlying code
> repository where the fix is needed). These will be common for any
+1
Could we also make the statement that as a project, we will enable
every platform feature we are able to for every platform by default,
and if a company wants to specifically disable some features for their
use because they haven't vetted them, they should do that in a
specific distro? Said another way, the "default" for every machine
should be every feature enabled, as that's what helps users and
developers the most.
>
> #1 should go into meta-phoenix. You're likely the first one doing this,
> so we may need some experimentation on the best option. I have two
> ideas (there are probably others):
>
> * Make an alternative tiogapass variant, like tiogapass-phoenix, which
> ends up including all the common tiogapass code from meta-facebook.
>
> * Create a new distro type for phoenix, which enhances the underlying
> openbmc distribution with your own branding tweaks. You'd still
> build meta-facebook/tiogapass but with a different distro flavor.
This one would be my vote between the two, and I think there's
precedent with other companies doing similar things. Isn't this the
way yocto recommends?
>
> I believe IBM has experiemented with both of these approaches for
> witherspoon (see witherspoon-tacoma and
> meta-ibm/conf/distro/openbmc-witherspoon.conf) and might have some
> insight into what has worked well for them.
>
> I'm more than willing to work with you and your team to help refactor
> meta-facebook/tiogapass in a way that makes it more condusive to what
> your team is interested in doing. I suspect we'll need to create some
> additional bitbake '.inc' files and move some of the content we have in
> '.conf' to '.inc'. Catch me here or on IRC as needed.
>
> --
> Patrick Williams
More information about the openbmc
mailing list