| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
rust-hello-world is doing
(From OE-Core rev: 13916de0145f83bb28323f0a6bde5c3d503c1319)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The qemux86 port for helloworld-baremetal builds in the standard way, however,
it uses NASM syntax for the startup code, hence we include a dependency to
nasm-native, QEMU forces us to use an ELF file rather than a bin file to boot
from this architecture using the -kernel parameter.
- QEMU refuses to boot using the -kernel parameter for files containing an ELF64
header [1], instead, it requires a multiboot2 compatible image.
We could create an image that contains a multiboot2 header by piggybacking
into grub2-native, specifically grub-mkrescue, but it requires some extra
runtime dependencies (xorriso which is currently part of meta-oe), and assumes
a grub installation exists on the host.
Due to host contamination and dependency complications, we dont rely on grub2,
but rather do this process manually instead, the x86-64 port contains a stage1
bootloader, stage2 bootloader and a 64 bit baremetal app (multiboot2
compatible), booting into real (16 bit), protected (32 bit) and long (64 bit)
modes, eventually running the helloworld-baremetal app. This is the reason why
we need the code changes to use a separate Makefile, and create an image
specifically for qemux86-64.
$ runqemu nographic
Booting from ROM..
Hello OpenEmbedded on x86!
$ runqemu nographic
Starting Stage 1 Bootloader
Loading Stage 2 Bootloader
Stage 2 Loaded.
Jumping to Stage2 Bootloader
In Stage 2
Done
Hello OpenEmbedded on x86-64!
[1] https://gitlab.com/qemu-project/qemu/-/blob/v7.2.0/hw/i386/multiboot.c#L199
(From OE-Core rev: 1dffd81b2991f90ab95cb36d8ff7626efd21434f)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ runqemu nographic
runqemu - INFO - Running bitbake -e ...
KERNEL: [tmp/deploy/images/qemuriscv32/baremetal-helloworld-image-qemuriscv32.bin]
MACHINE: [qemuriscv32]
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-riscv32
Hello OpenEmbedded on RISC-V 32!
(From OE-Core rev: d4cca7471f2167b56347fa7b1364bb84a200b1f5)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the result of automated script conversion:
scripts/contrib/convert-overrides.py <oe-core directory>
converting the metadata to use ":" as the override character instead of "_".
(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for MACHINE=qemuriscv64.
$ runqemu nographic
KERNEL: [tmp/deploy/images/qemuriscv64/baremetal-helloworld-image-qemuriscv64.bin]
MACHINE: [qemuriscv64]
FSTYPE: [bin]
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-riscv64
Hello OpenEmbedded on RISC-V 64!
(From OE-Core rev: 31fde82640bf0d185eab55d2cbaf663c9faae801)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Added HOMEPAGE and DESCRIPTION for recipes with missing decriptions or homepage
[YOCTO #13471]
(From OE-Core rev: 89d8f20353bacb089bc18833d3ff032b525613ee)
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(From OE-Core rev: f099a4ec8e722f590fbf9b5ae87bb6ec29a5e6e6)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
| |
This fixes a warning about a trailing slash on ${S}.
(From OE-Core rev: 0685dac31a7ae614d9f75cd51b59c45dd050f52e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(From OE-Core rev: dd5a64feb5426ec870cf5d53ef056b24eb450487)
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
To better align with upstream and mimic how images
are built, use do_image and do_image_complete instead
of do_deploy to populate artifacts on DEPLOY_DIR_IMAGE.
(From OE-Core rev: 9edb08c31700a85ce87344829989c1069d2760ab)
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IMGDEPLOYDIR is not being expanded anymore, this causes
do_rootfs to fail because it can't create the manifest file,
we can set it to the default being set on image.bbclass since
this is only a decoy function anyway to satisfy testimage,
this makes do_rootfs happy and allows it to continue.
(From OE-Core rev: 06ed491e30b47b8c5f89746e890519dd7de800fd)
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|