Build a custom Linux for your Rasp Pi with Yocto
Creating a New Image
If you want to add the lm-hello
program to an image, you need an image recipe. The image recipe is another variant of a BitBake recipe, but it differs significantly. In this case, the image recipe will be named lm-image-minimal.bb
, and it must reside below the meta-lm
layer in the subdirectory recipes-lm/images
:
cd Path/to/poky/meta-lm mkdir -p recipes-lm/images vim recipes-lm/images/lm-image-minimal.bb
The contents of the file are shown in Listing 5. The recipe includes the core-image-minimal.bb
recipe used earlier in this article. It then inserts another DESCRIPTION
before adding the lm-hello
package to the IMAGE_INSTALL
variable, causing the package to end up in the image.
Listing 5
lm-image-minimal.bb
Appending the package to IMAGE_INSTALL
highlights one of Yocto's special aspects. With most other tools, the obvious approach would be to append the lm-hello
variable to the IMAGE_INSTALL
variable with an operator like +=
or = ... + lm-hello
. But this would just confuse bitbake
. Instead, you will need a second variable with the _append
suffix, whose contents are added to the previous variable value.
After building, the resulting image is then called core-image-minimal-raspberrypi3.rpi-sdimg
.
Conclusions
This article introduced you to Yocto, a tool for building custom distributions. Yocto offers far more freedom and control than would be possible with a pre-built distribution. Having said this, these additional features do come at a price of significantly more complexity and overhead.
Infos
- Yocto: https://www.yoctoproject.org
- OpenEmbedded: http://www.openembedded.org/wiki/Main_Page
- OpenEmbedded Layer Index: http://layers.openembedded.org/layerindex/branch/master/layers/
- Yocto Project Reference Manual: https://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html
- Raspberry Pi layer: https://meta-raspberrypi.readthedocs.io/en/latest/readme.html
« Previous 1 2
Buy this article as PDF
(incl. VAT)