# Get started with Yocto Linux on Qemu

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/yocto_qemu/)
- [How do I get started with Yocto Linux on Qemu?](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/yocto_qemu/yocto_build/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/yocto_qemu/_next-steps/)

## About this Learning Path

| Skill level:     | Introductory       |
|------------------|--------------------|
| Reading time:    | 1 hr               |
| Last updated:    | 14 Aug 2026        |

| Author:          | Pareena Verma, Arm [GitHub](https://github.com/pareenaverma) [LinkedIn](https://linkedin.com/in/pareena-verma-7853607) |
|------------------|--------------------|
| Arm IP:          | [Cortex-A](https://support.arm.com/?tab=compute-ip&Product%20Type=Application%20Processors) |
| Tags:            | [Embedded Linux](/tag/embedded-linux), [Linux](/tag/linux), [Yocto Project](/tag/yocto-project), [QEMU](/tag/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
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

<details>
<summary>Which Yocto distribution should I start with here?</summary>
Use Poky, the Yocto Project reference distribution. You’ll build a minimal image from Poky before running it under QEMU.
</details>

<details>
<summary>How do I configure Yocto for the 64-bit Arm QEMU machine?</summary>
In `conf/local.conf`, uncomment `MACHINE ?= "qemuarm64"`. This selects the 64-bit Arm machine that you’ll build and run with QEMU.
</details>

<details>
<summary>How do I know the build finished correctly before I run QEMU?</summary>
You’ll know the build finished correctly when you have a generated image, and the build completes without errors.
</details>

<details>
<summary>Where can I find the images after the build completes?</summary>
You’ll find the images in `build-qemu-arm64/tmp/deploy/images/qemuarm64`.
</details>

<details>
<summary>Which command launches the image in QEMU without graphics?</summary>
Run `runqemu qemuarm64 nographic`. Linux boots in your console, where you can log in as `root`.
</details>
