Create custom template files ============================ Step 1 - Copy existing files ---------------------------- Standard poky ``local.conf`` and ``bblayers.conf`` are good starter points to creating custom template (sample) files. Also if you want custom information about images when sourcing environment you can copy ``conf-notes.txt``. .. code-block:: cp ../meta-poky/conf/local.conf.sample ../meta-golemos/conf/ cp ../meta-poky/conf/bblayers.conf.sample ../meta-golemos/conf/ cp ../meta-poky/conf/conf-notes.txt ../meta-golemos/conf/ .. note:: All commands diplayed are executed from the ``build`` directory. Step 2 - Customize sample files ------------------------------- After copying files you have to customize values to fit your needs. In ``local.conf.sample`` change ``MACHINE`` and ``DISTRO`` values so you will not have to change it every time. .. code-block:: MACHINE ??= "raspberrypi0-wifi" DISTRO ?= "golemos" For now this layer is compatible with Raspberry PI 0. If you plan to use with different machine feel free to change it here. You can also overwrite this value when building images with this command. .. code-block:: MACHINE= bitbake Step 3 - Add dependency layers ------------------------------ This custom layer has some dependencies. You can also add them to ``bblayers.conf.sample`` and not worry about them later. Whole file should contain this output. .. code-block:: BBPATH = "${TOPDIR}" BBFILES ?= "" BBLAYERS ?= " \ ##OEROOT##/meta \ ##OEROOT##/meta-poky \ ##OEROOT##/meta-yocto-bsp \ ##OEROOT##/meta-golemos \ ##OEROOT##/meta-raspberrypi \ ##OEROOT##/meta-openembedded/meta-oe \ ##OEROOT##/meta-openembedded/meta-python \ ##OEROOT##/meta-openembedded/meta-webserver \ " .. note:: If you add this layers to sample file, you have to clone appropriate repositories to satisfy dependencies. Step 4 - Create custom notes ---------------------------- When sourcing build environment you see notes from poky distribution. They often show which images are available for build. You can create your own notes and always remember what images are available as a bitbake target. Inside ``conf-notes.txt`` place this output to make this happen. .. code-block:: text ### Shell environment set up for builds. ### You can now run 'bitbake ' Common targets are: core-image-minimal core-image-full-cmdline core-image-sato core-image-weston meta-toolchain meta-ide-support Targets available from golemos layer: datalogger-image datalogger-extended-image datalogger-dev-image Other commonly useful commands are: - 'devtool' and 'recipetool' handle common recipe tasks - 'bitbake-layers' handles common layer tasks - 'oe-pkgdata-util' handles common target package tasks .. note:: In this file there were adedd custom images which will be created in next step. Do now worry if they do not work already. Step 5 - Source build environment --------------------------------- From now when sourcing environment you can use your sample files instead of using standard poky files. This can be done by typing this command when you source build environment. .. code-block:: TEMPLATECONF=meta-golemos/conf/ source oe-init-build-env Summary ------- At the end your layer structure should look like this. .. code-block:: ../meta-golemos ├── conf │   ├── bblayer.conf.sample │   ├── conf-notes.txt │   ├── distro │   │   └── golemos.conf │   ├── layer.conf │ └── local.conf.sample ├── COPYING.MIT ├── README └── recipes-example └── example └── example_0.1.bb