This Docker image contains the underlying backend running the QEMU emulated embedded system.
## Contents
The base image is Ubuntu 24.04, the latest LTS at the time of writing, as referenced in the `UBUNTU_BASE_IMAGE_TAG` variable in the [Makefile](./Makefile). The Dockerfile is automatically built using
Additionally, it comes with a series of script for the set up of the emulated system.
The directory scripts contains these scripts:
- files.sh - creates the required disk images and copies the built U-Boot binary to the run directory
- network.sh - configures the network to set up TAP networking
- qemu.sh - launches the QEMU emulated system
- startup.sh - run upon launching the container, launches these network.sh and qemu.sh in sequence
The files directory contains these files and directories:
- uboot.env - modified U-Boot environment file
- dir2fat32 - utility used to create a FAT32 disk image from a directory
**The U-Boot version used in the image is 2024.01**, the new versions might not work with the present configuration. The U-Boot defconfig file is configured to use virtIO FAT drive for the uboot environment, download artifacts from a TFTP server and other required settings.
## Contributing
To build this image, run:
```
make build
```
This by default creates an image called `embedded-linux-qemu`, which can be pasted in the docker-compose.yml file to be used instead of the one in the registry.