1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-01-11 15:00:39 +00:00
Files
meta-arm/ci
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
..
2024-04-11 10:01:59 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-09-20 09:00:04 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2021-04-19 08:12:27 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2021-12-23 10:57:54 +00:00
2024-07-10 12:11:37 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00
2024-04-29 17:00:18 -04:00