Cuteradio is the main repository for a simple Qt-based Internet radio that runs on a Raspberry Pi 3. This repository contains five submodules. Each submodule corresponds to a Yocto layer and is added as a subdirectory to the directory cuteradio/sources. Cuteradio is currently based on the Yocto release thud.
We must install Docker before we can run the Yocto build. Docker installation is described here. We execute the Yocto build in the Docker container CROPS as described in the blog post Yocto Builds with CROPS Containers.
We create a work directory at a place of our choice and clone the main repository with all its submodules.
host$ mkdir work-cuteradio
host$ cd work-cuteradio
host$ git clone --recurse-submodules https://github.com/bstubert/cuteradio.git
host$ git checkout qt5.11-thud-rpi3b
For convenience, we copy the helper script ./cuteradio/ycr to the path ~/bin, which is included in PATH.
host$ cp ./cuteradio/ycr ~/bin
The call
host$ ./cuteradio/ycr <yocto-command>
spins up the CROPS container, enters the Yocto build environement and executes the .
For example, if we want to run Yocto commands interactively in the build environment, we execute the following command.
host$ ycr bash
pokyuser@fd206ebcd9d6:/work-cuteradio/build$
The second line is in the Linux environment provided by the CROPS container. So, we could run bitbake to build the Cuteradio image.
pokyuser@fd206ebcd9d6:/work-cuteradio/build$ bitbake cuteradio-image
We exit the container with the command:
pokyuser@fd206ebcd9d6:/work-cuteradio/build$ exit
We can also start the Yocto build with a single command:
host$ ycr bitbake cuteradio-image