Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- We have a model where we describe a what we expect our build system to understand.
- The model looks like this, in a kind of hierarchical configuration
- PROJECT == MACHINE + SOFTWARE + DELIVERY_MECHANISM
- MACHINE == MACHINE_HARDWARE_DESCRIPTION + LIST_OF_MACHINE_DRIVERS (BSP)
- SOFTWARE == OS_KERNEL + OS_MODULES (unclear, does this include BSP?) + SYSTEM_SOFTWARE + USER_SOFTWARE
- DELIVERY_MECHANISM == (i.e. .tar.gz .iso .vmdk other(?))
- OS_KERNEL == currently only linux? (specifiy version)
- OS_MODULES == e.g iptables, ext4, soundcore, parport
- SYSTEM_SOFTWARE == e.g. grub, systemd, bash, (Wayland?)
- USER_SOFTWARE == e.g. xclock, xeyes
- * polite notice* - I am not a hardware guy, I have no idea what goes into MACHINE_HARDWARE_DESCRIPTION,LIST_OF_MACHINE_DRIVERS
- Notice this is a *layered* model. PROJECT *is a* layer, MACHINE *is a* layer, etc..
- This model establishes the *structure* of our meta-data
- When we configure a specific instance of this meta-data by providing concrete values we can re-use anything that someone else has already configure (assuming we know it exists, and is really what we want)
- Now, a customer comes along and wants to add in some piece of hardware that currently we don't support, and nobody in the whole universe of yocto user has ever worked with before.
- *That* is our job, to understand the implications that places upon the configuration above.
- But, that is only more configuration - we're not adding to the model (maybe in a very unusual circumstance this is the symbol for unsual circumstance '@' ), we're adding to the universe of known configurations that the model supports. BUT, if the build system doesn't support the easy addition of our configuration, the build system is broken (except @)
- We declare that our model is good enough that we can simply add to an existing layer, or add a new layer (depending upon which makes more sense), make a minor configuration change to either an existing layer or declare the new layer, and have the build system work correctly, *without human interference* !!!!!!
- Something like this:
- PROJECT = ${PROJECT} + NEW_LAYER
- or
- OS_MODULES == ${OS_MODULES} + NEW_LAYER
- etc...
- Either way, the basic instructions for building this are
- oe-init-build-env && bitbake <target>
- Notice, no editing of local.conf, bblayers.conf, or anything
- ########################################################
- Now, how do I accomplish the adding in of that layer ?
Add Comment
Please, Sign In to add comment