First Build¶
This tutorial walks you through cloning meta-tolomeo, starting the development environment,and building a QEMU development image. By the end you will have a running virtual machine you can SSH into.
This tutorial targets the QEMU x86-64 development image. Hardware target builds are not covered here.
Prerequisites¶
- Docker 20.10+ (Get Docker) with at least 16 GB RAM allocated
- VS Code 1.60+ with the Dev Containers extension
- SSH key configured for GitLab (GitLab SSH guide)
- 50 GB free disk space
Clone the repository¶
git clone git@gitlab.com:DAVEEmbeddedSystems/public/tolomeo-public-projects/meta-tolomeo.git
cd meta-tolomeo
Open in the devcontainer¶
- In VS Code: File → Open Folder, select the cloned directory.
- VS Code detects
.devcontainer/devcontainer.jsonand prompts to Reopen in Container. Click it. Alternatively: Command Palette →Dev Containers: Reopen in Container. - The container builds on first run. This takes 5–10 minutes. When the terminal prompt inside the container appears, the environment is ready.
Verify the environment:
kas --version
curl -I https://reed-cache01.tolomeo.io/sstate-cache/
# Expected: HTTP/2 200 (or a redirect)
Set up build keys¶
The build system requires a keys/ directory in the repository root containing the signing key
material. For this tutorial, use the development keys that DAVE provides in devel-keys/:
Warning
The keys in devel-keys/ are publicly known and exist only for build validation.
Never use them on a production device. See
Generate a Signed Update Package for generating
your own key material.
If keys/ already exists as a symlink or directory, skip this step.
Build the development image¶
A full build from an empty cache takes 2–4 hours. With the remote sstate mirrors populated, most tasks are cache hits and the build completes in 20–40 minutes.
The build is complete when BitBake reports:
Build artifacts land in build/tmp-glibc/deploy/images/tolomeo-qemux86-64/.
Boot the image in QEMU¶
Follow Run Standalone to prepare the working directory and launch QEMU. Use the devel
image artifact (image-devel-tolomeo-qemux86-64.rootfs.ext4.gz) in place of the production image referenced in that guide.
Connect via SSH once the VM has booted:
Next steps¶
- Configure the dev environment — sstate mirrors, performance tuning, troubleshooting
- Architecture — how the layers are structured and why
- Configure update modes — enable OTA, streaming, or USB updates