Advanced configuration
From Openembedded
Contents |
[edit] ASSUME_PROVIDED
OpenEmbedded has a couple of native packages that are used for cross-compiling stuff. Whenever a package X needs another package Y on the host but Y is not in the list of RequiredSoftware then a native package presents a solution. If you already have that package Y installed on your compile host then there is no need to waste CPU cycles compiling it again. That is what ASSUME_PROVIDED is for.
- you have a Java virtual machine installed: ASSUME_PROVIDED += "virtual/java-native"
- you have a Java compiler installed: ASSUME_PROVIDED += "virtual/javac-native"
[edit] Parallel bitbake
People having a multi CPU or multi core computer can build several packages in parallel to speed the process. Starting with bitbake 1.8.8, you can set
BB_NUMBER_THREADS = "4"
to run nicely on your quad core system.
[edit] Clean-up
After a package is built, the build dir can be automatically removed. To have this functionality in your build add
INHERIT += "rm_work"
to your configuration.
[edit] Insecure downloads
In case you want to prevent OpenEmbedded from erroring out when it downloads something that has no entry in checksums.ini set:
OE_STRICT_CHECKSUMS = ""
in local.conf
This is handy if your are using an overlay. It is still STRONGLY recommended you add the checksums to checksums.ini as well.
[edit] Whitelist Environment Variables
For detailed information see:
http://article.gmane.org/gmane.comp.sysutils.bitbake.devel/970
To allow bitbake to pass variables from the environment use:
export BB_ENV_EXTRAWHITE="OE_DIR OTHER_ENV_VAR"
in bashrc or your preferred way of setting up the environment before running bitbake.
[edit] Building a single binary and its dependencies
As default, "bitbake x" is defined to mean build x and whatever other tasks x needs to build, not build x and package all x's dependencies.
The image or package-index recipe will set the necessary flags to ensure that all dependent packages are generated to run its tasks. If you're not building an image but just compiling something to test on target, you may want to install the package and its dependencies too.
To obtain that result you can set BB_DEFAULT_TASK = "buildall" in your local.conf.
If you're using the feed rather than copying the packages manually remember to run "bitbake package-index".
