One of the challenges when compiling Linux and Android based images, or any software, is setting up the proper build environment on your host computer. The environment needs to be reproducible both now and in the future. It also needs to be easy to distribute among team members at separate locations. It is a safe bet that sometime in your career (if not right now), you’ve had an old computer under your desk, or a virtual machine saved on your computer, that is used only for compiling software for a legacy product. To help solve this problem, Variscite provides docker containers for building Variscite Yocto, B2Qt, Debian and Android images.
What is a Docker container?
Functionally, Docker containers are like virtual machines, but they are much more efficient because they share the same kernel and resources as the host operating system. Docker containers have the following advantages:
- Containers are built using a Dockerfile, which, among other things, defines the base OS (e.g. Ubuntu 20.04, 18.04, or 16.04) and a list of packages that should be installed. This means that your build environment is revision controlled and easily reproduced and distributed.
- Containers share the same resources with the host computer. As a result, the container runs at native speed with minimal performance reduction, and the resources of your host computer are not consumed by a bloated virtual machine.
- Containers can start and stop in seconds.
To learn more about getting started building images using Docker, please see the Docker Build Environment guide on Variscite’s Wiki.