This document is intended to provide a set of recipes for common OpenBMC customisation tasks, without having to know the full yocto build process.
The kernel recipe is in:
meta-phosphor/common/recipes-kernel/linux/linux-obmc_4.2.bb
To use a local git tree, change the SRC_URI
to a git:// URL without a hostname. For example:
SRC_URI = "git:///home/jk/devel/linux;protocol=git;branch=${KBRANCH}"
The SRCREV
variable can be used to set an explicit git commit. The default (${AUTOREV}
) will use the latest commit in KBRANCH
.
The Palmetto target is palmetto
.
If you are starting from scratch without a build/conf
directory you can just:
$ cd openbmc $ TEMPLATECONF=meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf . oe-init-build-env $ bitbake obmc-phosphor-image
Looking for a way to compile your programs for 'ARM' but you happen to be running on a 'PPC' or 'x86' system? You can build the sdk receive a fakeroot environment.
$ bitbake -c populate_sdk obmc-phosphor-image $ ./tmp/deploy/sdk/openbmc-phosphor-glibc-x86_64-obmc-phosphor-image-armv5e-toolchain-1.8+snapshot.sh
Follow the prompts. After it has been installed the default to setup your env will be similar to this command
. /opt/openbmc-phosphor/1.8+snapshot/environment-setup-armv5e-openbmc-linux-gnueabi
You can reconfigure your build by removing the build/conf dir:
rm -rf build/conf
and running oe-init-build-env
again (possibly with TEMPLATE_CONF
set).
busctl
http://www.freedesktop.org/software/systemd/man/busctl.html
Great tool to issue rest commands via cli. That way you don't have to wait for the code to hit the path on the system. Great for running commands with QEMU too!
Run as:
busctl call <path> <interface> <object> <method> <parameters>