1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-04-20 11:29:54 +00:00
Commit Graph

242 Commits

Author SHA1 Message Date
Ross Burton
03af0c72f1 arm-toolchain: remove external-arm-toolchain
Integrating the binary Arm GCC toolchain into OE is quite complicated
because the binary release and oe-core's toolchain are arranged slightly
differently, which makes it quite fragile.

As it's obviously a binary release we cannot patch it to fix issues.

Also it has some fairly sizable limitations: for example the kernel
headers are old (from linux 4.19) and the locale packaging is different
so locale package dependencies don't work.

The main historic users of the external toolchain no longer use it, so
remove it.  The recipes will remain in the LTS branches for users who
are using it currently, but will not be part of the next release.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Acked-by: Romain Naour <romain.naour@smile.fr>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-01-30 07:26:31 -05:00
Mikko Rapeli
682fb426ee uefi-secureboot.yml: switch to Unified Kernel Image (UKI)
Unified Kernel Image includes kernel and initrd which
both are signed with UEFI secure boot. This brings secure
boot closer to userspace.

Use core-image-initramfs-boot to find the real
rootfs and boot systemd init there. No need to hard code
rootfs via qemuboot/runqemu variables.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-11-25 12:10:17 -05:00
Mikko Rapeli
a3523586e5 uefi-secureboot.yml: remove duplicate distro features
Setting INIT_MANAGER to "systemd" already sets needed
feature flags. Appending to them only causes sstate
cache invalidation and recompilations.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-11-25 12:10:17 -05:00
Jon Mason
853fde2b24 CI: add poky-altcfg in xen.yml for systemd image requirement
xen-image-minimal now requires systemd.  Add poky-altcfg (which has
systemd amongst other things) as an includes in the xen.yml file to work
around this.  Also, xen requires openssh instead of dropbear.  So,
override that entry.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-11-21 11:00:04 -05:00
Ross Burton
e7898787bb CI: don't use debug-tweaks
As of the following commit in oe-core[1]:

  classes-recipe/core-image: drop debug-tweaks IMAGE_FEATURE

The debug-tweaks feature is no longer valid. Replace it with the options
that we need to perform login over testimage.

[1] https://git.openembedded.org/openembedded-core/commit/?id=2c229f9542c6ba608912e14c9c3f783c3fa89349

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-11-08 09:00:03 -05:00
Javier Tia
d315a5dec9 arm/uefi-secureboot: Add uefi capsule update support
UEFI capsule update is a mechanism that allows firmware updates to be
delivered and applied in a standardized way. It is part of the UEFI
specification and provides a way to update system firmware components
like the BIOS, UEFI drivers, or other platform firmware.

Signed-off-by: Javier Tia <javier.tia@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-10-07 21:00:04 -04:00
Javier Tia
a93bdc8e4e arm/uefi-secureboot: Add uefi http boot support
Enable network boot via HTTP protocol. Many embedded and server-class
systems use network boot for booting. Enabling network boot on devices
allows:

- Shipping devices without OS images. When we power up the device, the
  firmware can connect to the Internet and download and install suitable
  boot images for this specific device. Administrators can centrally
  manage the boot images and configuration files on a network server.
  This centralization streamlines the management of boot options and
  ensures consistency across all devices.

- This is particularly useful in enterprise environments. On mass
  deployments, there is a need to install the operating system on
  multiple devices simultaneously.

- Ability to maintain a completely diskless system if needed 

The plain HTTP protocol lacks encryption. It's intended to be used on
local networks. Secure http protocol support is under review. 

Signed-off-by: Javier Tia <javier.tia@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-10-07 00:00:04 -04:00
Javier Tia
847fd39b25 arm/qemuarm64-secureboot: Enable UEFI Secure Boot
Encapsulate all UEFI Secure Boot required settings in one Kas
configuration file.

Introduce SBSIGN_KEYS_DIR variable where UEFI keys will be generated
to sign UEFI binaries. 

Introduce uefi-secureboot machine feature, which is being used to
conditionally set the proper UEFI settings in recipes.

Replace Grub bootloader with systemd-boot, which it makes easier to
enable Secure Boot.

Advantages using systemd as Init Manager:

- Extending secure boot to userspace is a lot easier with systemd than
with sysvinit where custom scripts will need to be written for all use
cases.

- systemd supports dm-verity and TPM devices for encryption usecases out
of the box. Enabling them is a lot easier than writing custom scripts
for sysvinit.

- systemd also supports EUFI signing the UKI binaries which merge kernel,
command line and initrd which helps in bringing secure boot towards
rootfs.

- systemd offers a modular structure with unit files that are more
predictable and easier to manage than the complex and varied scripts
used by SysVinit. This modularity allows for better control and
customization of the boot process, which is beneficial in Secure Boot
environments.

- Add CI settings to build and test UEFI Secure Boot.

Add one test to verify Secure Boot using OE Testing infraestructure:

$ kas build ci/qemuarm64-secureboot.yml:ci/meta-secure-core.yml:ci/uefi-secureboot.yml:ci/testimage.yml
...
RESULTS - uefi_secureboot.UEFI_SB_TestSuite.test_uefi_secureboot: PASSED (0.62s)
...
SUMMARY:
core-image-base () - Ran 73 tests in 28.281s
core-image-base - OK - All required tests passed (successes=19, skipped=54, failures=0, errors=0)

Signed-off-by: Javier Tia <javier.tia@linaro.org>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> [yml file include fix]
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-10-04 10:27:35 -04:00
Jon Mason
7cce43e632 Revert "CI: switch to building against styhead branches where possible"
This reverts commit 2b1348d74f.

Revert to allow the meta-arm master branch to use the master branch of
other layers.
2024-10-01 11:08:47 -04:00
Ross Burton
f22852b353 CI: transform testimage reports into JUnit XML reports
Using resulttool we can transform the oeqa JSON reports into JUnit XML,
which GitLab can display in pipelines and merge requests.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-09-27 12:00:05 -04:00
Ross Burton
2b1348d74f CI: switch to building against styhead branches where possible
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-09-27 11:25:37 -04:00
Jon Mason
ea2c1ab5db arm-bsp/fvp: Re-enable parselogs
Re-enable parselogs testing for fvp-base and corstone1000-fvp, and add
an ignore file for the relevant entries.  Also, increase the testing
being done on corstone1000-fvp.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-09-20 09:00:04 -04:00
Jon Mason
a6e74d3926 arm-bsp/fvp-base: support poky-altcfg
Add the bits to enable poky-altcfg to boot to prompt on fvp-base.
Unfortunately, ssh takes a very long time to come up, which causes the
ssh test to timeout.  So, don't enable this by default in CI.
Also, switch to building full-cmdline instead of sato, since we're never
actually testing the graphics on this platform.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-09-20 09:00:04 -04:00
Bence Balogh
7e94669f60 arm-bsp/trusted-firmware-m: corstone1000: add Secure Debug
The Secure Debug functionality can be enabled on MPS3 by using the new
corstone1000-mps3-secure-debug.yml kas file. The kas file adds the new
secure-debug machine feature. The TF-M recipe adds the needed TF-M
build flags and patches in order to make the Secure Debug work.

This way, the Corstone-1000 will only boot fully if a debugger is
connected and a debug authentication is initiated.

Signed-off-by: Bence Balogh <bence.balogh@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-08-29 08:36:35 -04:00
Jon Mason
105338c069 CI: remove xorg test removal from edk2
The edk file removed xorg from being tested, which is currently working
on qemuarm and qemuarm64.  Also, the section name collies with one in
fvp.yml, which has other things that are removed.  Remove this removal
to get things working as expected.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-07-12 11:16:57 -04:00
Jon Mason
a1b240fa55 CI: add poky-altcfg
Add poky-altcfg to give us coverage for systemd (and the other things
that it exercises).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-07-10 12:11:37 -04:00
Jon Mason
4cddc5f600 CI: remove unnecessary clang settings
With the resolution of meta-clang issue 766 and
OE-Core 15d09b02b2632ab1cabc3b1bd9f521e6d3d3b83f
many of the settings are no longer necessary to be set as part of our
CI.  Remove them, as it is causing other issues with CI.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-07-09 14:40:05 -04:00
Jon Mason
f646ee4507 arm-toolchain: update to 13.3
Update the Arm Binary toolchain to version 13.3-rel1.  The upper to
lowercase 'r' in rel was intentional, as the exact match is needed for
devtool to properly determine the correct version.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-07-09 14:35:23 -04:00
Jon Mason
390b9824dd CI: remove ts-smm-gateway for qemuarm64-secureboot-ts
uefi-test is failing on qemuarm64-secureboot with TS enabled with a "Bus
Error".  This regression is caused by the update of QEMU from v8.2.1 to
v9.0.0.  Temporarily disable this test (via disabling ts-smm-gateway) to
get CI green until it can be root caused.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-07-02 16:28:33 -04:00
Amr Mohamed
88b78f5558 arm-systemready/linux-distros: Add a third Linux distribution installation
Add Fedora distribution version 39.1.5 installation to fulfill
the SystemReady IR.

Signed-off-by: Amr Mohamed <amr.mohamed@arm.com>
2024-06-18 08:51:59 -04:00
Jon Mason
f8338c3af2 Revert "CI: temporarily backport the procps fix"
This reverts commit fef5eafc08.
2024-06-11 12:39:50 -04:00
Ross Burton
680e121bb2 CI: use pregenerated SSH keys in genericarm64
We boot genericarm64 inside a qemu, so add the pregenerated keys to speed
up testing.  This isn't a risk because we don't publish the images.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-06-11 11:37:58 -04:00
Ross Burton
419736b6ad CI: back to master
Move meta-arm's CI for master branch back to master of the upstream layers.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-06-11 11:37:58 -04:00
Jon Mason
20966db076 CI: correct BB_HASHSERVE_UPSTREAM
The BB_HASHSERVE_UPSTREAM has issues which cause significantly less of a
match than expected.  Update with the correct values to get the expected
behavior.

Fixes: 6e9525115b ("CI: add Yocto Project SSTATE Mirror")
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-05-21 15:00:05 -04:00
Jon Mason
ac517cbaa3 CI: increase bitbake server timeout
On some CI systems, the bitbake server is timing out at 1 mins.
Increase to 5 mins, which hopefully should give enough time without
letting it run forever.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-05-07 13:48:05 -04:00
Jon Mason
6db139e1fd arm-bsp: remove support for n1sdp
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-05-07 13:48:05 -04:00
Jon Mason
950e191d7b arm/boot-wrapper-aarch64: add to fvp-base CI
Add boot-wrapper-aarch64 to fvp-base CI so that it can be
covered by CI and added to the update-report

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-05-01 09:00:14 -04:00
Mikko Rapeli
c43f173276 ci/qemuarm-secureboot.yml: install optee and test both optee and ftpm
optee-os test xtest needs additional test trusted applications (TA) from
optee-os-ta package to pass. Execution time for ftpm test is around 21
seconds and 596 seconds for optee-test/xtest on an x86_64 build machine.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-30 09:00:08 -04:00
Mikko Rapeli
70e7f64af6 ci/qemuarm64-secureboot.yml: install optee and test both optee and ftpm
optee-os test xtest needs additional test trusted applications (TA) from
optee-os-ta package to pass. Execution time for ftpm test is around 18
seconds and 430 seconds for optee-test/xtest on an x86_64 build machine.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-30 09:00:08 -04:00
Ross Burton
8399d913a9 CI: build arm-systemready distro images
There are two recipes in meta-arm-systemready that download ISOs for
testing purposes.  Build them in CI to verify that the fetch is
successful.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-30 09:00:04 -04:00
Ross Burton
9649cdcf77 CI: disable ptest in external-gccarm builds
We recently switched the CI to not disable ptest, but this breaks builds
that use the GCC binaries built by Arm (external-arm-toolchain). This is
because the external-arm-toolchain recipe can't build packages for the
target, and the standard oe-core gcc recipes assume that they're being
built with themselves and make assumptions, specifically that libunwind
was enabled and headers can be copied directly from the sysroot.

This is a bigger problem that should be solved somehow, but for now we
can just remove ptest in the external-gccarm CI jobs which removes gcc
from the builds (it comes in via elfutils-ptest RDEPENDS).

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:18 -04:00
Ross Burton
e89cd1fe41 CI: remove 32-bit time_t workaround
This is now in the recipe itself, so remove it from CI.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:18 -04:00
Ross Burton
fef5eafc08 CI: temporarily backport the procps fix
This patch will be merged upstream soon, apply it locally to unblock CI.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:18 -04:00
Ross Burton
68fe673cc9 CI: add Kas schema comments
Add YAML language server comments so that IDEs know what schema to use
for the Kas files.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:18 -04:00
Gyorgy Szing
fa05df1611 Add support for the TS Firmware Update service
Add a recipe to enable building and deploying the FWU service
implemented in the Trusted Services Project. The FWU service can
help vendors to meet PSA certification requirements.

Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:11 -04:00
Jon Mason
b972dabc1b CI: use scarthgap branch for meta-clang
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:11 -04:00
Jon Mason
6e9525115b CI: add Yocto Project SSTATE Mirror
Add the Yocto Project public SSTATE mirror to its own unique yml file.
This allows for developers to use this to speed up builds, while not
adding in the default case.  This "off by default" is because it can add
10s of minutes to each build, which might not be beneficial to those who
are using SSTATE dir locally.

Also, removing the removal ptest distro feature, as this change prevents
an optimal usage of the YP SSTATE mirror (~30% match to ~90% match for
qemuarm64).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:08:41 -04:00
Ross Burton
10e23fe1df arm: remove generic-arm64 and qemu-generic-arm64
These BSPs are now obsolete.

Users of generic-arm64 should use genericarm64 from meta-yocto-bsp.

Users of qemu-generic-arm64 should use sbsa-ref from meta-arm-bsp.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:08:19 -04:00
Ross Burton
a86f62f144 arm-bsp: add new sbsa-ref machine
This is mostly based on the existing qemu-generic-arm64 machine, but by
not being based on the genericarm64 and instead being specifically a
machine to run on the qemu sbsa-ref machine we get to tune differently.

Specifically, this configures sbsa-ref to be a Neoverse N2 (v9), and the
tune is set to match.  Another notable difference to qemu-generic-arm64
is that the kernel configuration is at present defconfig.  We may wish
to change this in the future to be the same fragmented configuration as
genericarm64.

We have to ignore two testimage parselogs failures: one from NUMA which
will be fixed in a future EDK2 release, and one from efifb where we
should be using the bochsdrm driver instead (further investigation is
needed)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:07:56 -04:00
Ross Burton
9c6330a0b1 CI: add genericarm64
Add the new genericarm64 in meta-yocto-bsp to the CI.

This new BSP is heavily based on the meta-arm generic-arm64 machine, but
with an all-new fragmented kernel configuration.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:04:25 -04:00
Ross Burton
77ebe8b8cc ci/testimage: don't :append to IMAGE_FEATURES
Some BSPs use a proper initramfs and putting a SSH server into them
via this :append isn't ideal.  Adding using += should be sufficient.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:04:13 -04:00
Gyorgy Szing
eeb6441ac6 arm-bsp: enable Trusted Services on the fvp-base platform
Add configuration settings to TF-A, OP-TEE and TS SPs needed to get TS
built and run on the fvp-base machine.

Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:01:59 -04:00
Ross Burton
80f3b85bbd CI: use scarthgap branches
Upstream master and scarthgap have now diverged, so use scarthgap whilst
we prepare for release.  At the time of writing there is no scarthgap
branch for meta-clang, so leave that on master.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-04-17 13:36:19 +00:00
Jon Mason
ab4bf2700f CI: update to kas 4.3.2
The new kas version has fixed the netrc issue.  Update to it and remove
the workaround

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-11 10:01:59 -04:00
Jon Mason
0af53c6453 arm-bsp: Remove tc1
Remove tc1 and related recipes that are unique to it (and generally
unused ones).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-11 10:01:59 -04:00
Ross Burton
2271e33766 CI: ignore netrc warnings caused by Kas
As of oe-core ba391d3, hashserv lookups will use authentication from the
.netrc file.  However, Kas will write invalid netrc files with comments,
which causes bitbake to emit warnings.

This has been fixed in Kas in e700729 but until Kas 4.3.2 is released we
can ignore this warning specifically when checking the logs.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-03-27 09:32:43 -04:00
Jon Mason
81e3864bee arm-toolchain/gcc-arm-none-eabi: remove 11.2
gcc-arm-none-eabi v11.2 is no longer needed by tf-m.  Remove this
version, as there is a newer one available.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-03-21 11:01:14 -04:00
Drew Reed
6e2a547482 kas: Corstone-1000 kas files updated
The 2 Corstone-1000 kas files files are updated following the
multiconfig changes. The pinned commits have been commented out and
the default branch changed to master to allow the file to build valid
images.

Signed-off-by: Drew Reed <Drew.Reed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-03-13 08:52:27 -04:00
Drew Reed
aba9250494 ci: Ensure tests are in the Corstone-1000 flash image
To ensure the psa and optee tests are included in the initramsfs based
rootfs included within the flash image so the tests can be run.

Signed-off-by: Drew Reed <Drew.Reed@arm.com>
2024-02-28 17:17:41 +00:00
Drew Reed
1e972c5637 bsp: Restore the ability to build firmware only
To allow us to continue to ship Corstone-1000 releases that only include
the firmware with the built in Linux image we need a way to build it
outside of the multiconfig builds.

Signed-off-by: Drew Reed <Drew.Reed@arm.com>
2024-02-23 11:32:12 +00:00