TODO this page needs updating.
The following assumes that you already have a built tree rooted in build-scripts/, openxt.git with a completed build. It also assumes the build was done with with INHIBIT_RMWORK set. INHIBIT_RMWORK is set by default, and tells the build scripts to not delete the temporary packages build folders, so that we can go there, modify and rebuild source code.
The MACHINE variable
bitbake
, the tool we use to build packages, uses the MACHINE environment variable to know what the current target (VM) is. A few possible values are xenclient-dom0 (to work on the main rootfs), xenclient-uivm (to work on the UI VM rootfs), xenclient-ndvm (to work on the network VM rootfs).
Make sure it is always set to something valid. Having "export MACHINE=xenclient-dom0" in your .bashrc is not a bad idea. If you are modifying multiple machines you can set it on the comment line before invoking the bb (which is a wrapper for the bitbake
command).
The main folders
Folder | Description |
---|---|
build-scripts/build/oe/ | The main work folder, where bb (bitbake wrapper) lives |
build-scripts/build/oe/xenclient/recipes/ | The OpenXT-specific recipes (xenclient-oe.git) |
build-scripts/build/oe/tmp-eglibc/ | The build folder, made not so "tmp" by INHIBIT_RMWORK |
build-scripts/build/oe/tmp-eglibc/work/ | Where the building of the packages happen, each subfolder is an OE "machine" |
build-scripts/build/oe/tmp-eglibc/work/core2-oe-linux/ | For non-machine-specific work, most of the non-kernel-related packages are built here |
...