<commit_before>= Build a QEMU image
:page-partial:
ifdef::env-github[]

[NOTE]
====
We recommend that you link:https://docs.ota.here.com/ota-client/latest/{docname}.html[view this article in our documentation portal]. Not all of our articles render correctly in GitHub.
====
endif::[]


:page-layout: page
:page-categories: [quickstarts]
:page-date: 2017-05-16 15:49:22
:page-order: 3
:icons: font
:toc: macro
:device: QEMU VM
:machine: qemux86-64
:meta-env: qemux86-64

{product-name} lets you easily manage OTA updates to embedded devices running custom-built Yocto images. This is a guide for building a simple Yocto image that you can run in QEMU. This is a good way to get started if you don't know yet what hardware your project will use, or if you just want to try out the features of {product-name} without worrying about physical devices.

include::ota-client::page$build-raspberry.adoc[tags=prereqs;env-setup;config;bitbake]

== Run the built image with QEMU

The build process creates disk images as an artefact. You can then directly run them with QEMU. (If you don't already have it installed, install it with `apt install qemu` or similar.) The meta-updater layer contains a helper script to launch the images:

----
../meta-updater/scripts/run-qemu-ota [image name] [mac address]
----

Both arguments are optional; image name defaults to `core-image-minimal`, and if a mac address isn't specified, a random one is generated.

TIP: Depending on your build, the `meta-updater` directory might be in a slightly different location. For example, if you're building an xref:build-agl.adoc[AGL image], the meta-updater layer would be at `../external/meta-updater`.

.Persistent storage
****<commit_msg>Fix broken yocto link<commit_after>= Build a QEMU image
:page-partial:
ifdef::env-github[]

[NOTE]
====
We recommend that you link:https://docs.ota.here.com/ota-client/latest/{docname}.html[view this article in our documentation portal]. Not all of our articles render correctly in GitHub.
====
endif::[]

include::_partials/aktualizr-version.adoc[]

:page-layout: page
:page-categories: [quickstarts]
:page-date: 2017-05-16 15:49:22
:page-order: 3
:icons: font
:toc: macro
:device: QEMU VM
:machine: qemux86-64
:meta-env: qemux86-64

{product-name} lets you easily manage OTA updates to embedded devices running custom-built Yocto images. This is a guide for building a simple Yocto image that you can run in QEMU. This is a good way to get started if you don't know yet what hardware your project will use, or if you just want to try out the features of {product-name} without worrying about physical devices.

include::ota-client::page$build-raspberry.adoc[tags=prereqs;env-setup;config;bitbake]

== Run the built image with QEMU

The build process creates disk images as an artefact. You can then directly run them with QEMU. (If you don't already have it installed, install it with `apt install qemu` or similar.) The meta-updater layer contains a helper script to launch the images:

----
../meta-updater/scripts/run-qemu-ota [image name] [mac address]
----

Both arguments are optional; image name defaults to `core-image-minimal`, and if a mac address isn't specified, a random one is generated.

TIP: Depending on your build, the `meta-updater` directory might be in a slightly different location. For example, if you're building an xref:build-agl.adoc[AGL image], the meta-updater layer would be at `../external/meta-updater`.

.Persistent storage
****
{'fraction_non_alphanumeric': 0.10109447004608295, 'fraction_numerical': 0.013248847926267281, 'mean_word_length': 4.583601286173633, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1560333', 'n_tokens_mistral': 1076, 'n_tokens_neox': 1028, 'n_words': 450}