Go to file
Alejandro Enedino Hernandez Samaniego 2534c1379c baremetal-helloworld: Create recipe for baremetal examples on QEMU
Create HelloWorld examples that run on several of the QEMU architectures
supported by the build system.

This recipe can be used by anyone to understand how baremetal applications
can be built using OpenEmbedded and how the wiring to set them up could be.

This should also facilitate creating/extending the OE testing infrastructure
to allow baremetal applications or RTOSs to be tested in the same way that
Linux currently is.

This can easily be extended to work on other MACHINES in the future.

To run this example:

$ source oe-init-buildenv

$ bitbake-layers add-layer ../meta-skeleton

# TCLIBC="baremetal" would work as well
$ echo "TCLIBC = \"newlib\"" >> ./conf/local.conf

$ echo "MACHINE = \"qemuarm64\"" >> ./conf/local.conf

$ bitbake baremetal-helloworld

$ runqemu

runqemu - INFO - Running bitbake -e ...
runqemu - INFO - Continuing with the following parameters:
KERNEL: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]
MACHINE: [qemuarm64]
FSTYPE: [bin]
ROOTFS: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]
CONFFILE: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.qemuboot.conf]

Hello OpenEmbedded!

(From OE-Core rev: b314e9a0923c8aa95a2f2c3f48d956206e9885a7)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
bitbake bitbake: tests/fetch: add npmsw tests 2020-01-27 16:48:10 +00:00
contrib/artwork oe.svg: Copy artwork from openembedded-classic. 2019-10-08 11:22:24 +01:00
documentation Adding memoriam to scottrif 2020-01-31 08:03:08 +00:00
meta kernel-yocto.bbclass: export LD in the environment used by kconf_check 2020-02-04 15:56:29 +00:00
meta-poky conf/machine: Remove mpc8315e-rdb machine 2020-02-02 10:38:55 +00:00
meta-selftest incompatible_lic.py: Add tests for incompatible licenses with wildcards 2019-12-16 23:25:50 +00:00
meta-skeleton baremetal-helloworld: Create recipe for baremetal examples on QEMU 2020-02-05 12:00:34 +00:00
meta-yocto-bsp conf/machine: Remove mpc8315e-rdb machine 2020-02-02 10:38:55 +00:00
scripts devtool/standard.py: Allow recipe to disable menuconfig logic 2020-02-02 16:57:21 +00:00
.gitignore gitignore: Ignore repo tool directory 2018-10-29 17:26:47 +00:00
.templateconf meta-yocto: Rename to meta-poky to better match its purpose 2016-02-28 11:31:17 +00:00
LICENSE meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
LICENSE.GPL-2.0-only meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
LICENSE.MIT meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
MEMORIAM MEMORIAM: Add recognition for contributors no longer with us 2020-01-30 15:22:35 +00:00
oe-init-build-env meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
README.hardware meta-yocto: Restructure and tidy up READMEs 2017-09-14 13:36:22 +01:00
README.OE-Core README: Rename to README.OE-Core so its clear where its from/belongs/is about 2019-03-06 23:09:10 +00:00
README.poky meta-yocto: Restructure and tidy up READMEs 2017-09-14 13:36:22 +01:00
README.qemu README.qemu: qemuppc64 is not supported 2017-10-16 23:54:31 +01:00

QEMU Emulation Targets
======================

To simplify development, the build system supports building images to
work with the QEMU emulator in system emulation mode. Several architectures
are currently supported in 32 and 64 bit variants:

  * ARM (qemuarm + qemuarm64)
  * x86 (qemux86 + qemux86-64)
  * PowerPC (qemuppc only)
  * MIPS (qemumips + qemumips64)

Use of the QEMU images is covered in the Yocto Project Reference Manual.
The appropriate MACHINE variable value corresponding to the target is given
in brackets.