Get started with Yocto Linux on Qemu
Introduction
How do I get started with Yocto Linux on Qemu?
Next Steps
Get started with Yocto Linux on Qemu
Who is this for?
This is an introductory topic for software developers interested in learning the basics of building Yocto Linux for embedded Arm targets.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build a minimal Yocto Linux image for generic 64-bit Arm target.
- Run the built Yocto image on Qemu.
Prerequisites
Before starting, you will need the following:
- Some familiarity with embedded Linux.
- A linux machine running Ubuntu 22.04 with at least 60 GB of disk space.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build a minimal Yocto Linux image for a 64-bit Arm target and run it in QEMU. First, you’ll start with Poky, configure a generic Arm build, and use Yocto recipes to produce an image. Then, you’ll launch QEMU with the generated image, verify a successful boot, and use the virtual system as a baseline for further iterations.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use Poky, the Yocto Project reference distribution. You’ll build a minimal image from Poky before running it under QEMU.
In
conf/local.conf, uncomment MACHINE ?= "qemuarm64". This selects the 64-bit Arm machine that you’ll build and run with QEMU.You’ll know the build finished correctly when you have a generated image, and the build completes without errors.
You’ll find the images in
build-qemu-arm64/tmp/deploy/images/qemuarm64.Run
runqemu qemuarm64 nographic. Linux boots in your console, where you can log in as root.