# 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

|  |
| --- |
| Author: |
| Pareena Verma , Arm<br>[GitHub](https://github.com/pareenaverma)<br>[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](https://learn.arm.com/tag/embedded-linux) [Linux](https://learn.arm.com/tag/linux) [Yocto Project](https://learn.arm.com/tag/yocto-project) [QEMU](https://learn.arm.com/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?
After completing this Learning Path, you'll be able to perform the following tasks:
- Build a minimal Yocto Linux image for generic 64-bit Arm target.
- Run the built Yocto image on Qemu.

### Prerequisites
Before starting, you'll need the following prerequisites:
- 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
**Which Yocto distribution should I start with here?**
Use Poky, the Yocto Project reference distribution. You’ll build a minimal image from Poky before running it under QEMU.

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

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

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

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