Hi, On Sun, Oct 13, 2024 at 08:43:15AM +0100, Richard Purdie wrote: > On Fri, 2024-10-11 at 15:20 +0300, Mikko Rapeli via lists.openembedded.org > wrote: > > These changes enable building systemd uki images which combine > > kernel, kernel command line, initrd and possibly signatures to > > a single UEFI binary. This binary can be booted with UEFI firmware > > and systemd-boot. No grub is needed and UEFI firmware and/or > > systemd-boot provide possibilities for boot menus. > > The uki binary can also be signed for UEFI secure boot > > so the secure boot extends from firmware to kernel and initrd. > > Binding secure boot to full userspace is then easier since for example > > kernel command line and initrd contain the support needed to mount > > encrypted dm-verity etc partitions, and/or create partitions on demand > > with systemd-repart using device specific TPM devices for encryption. > > > > Tested on qemuarm64-secureboot machine from meta-arm with changes to > > support secure boot. Slightly different configuration tested on > > multiple arm64 System Ready boards with UEFI firmware, real and firmware > > based TPM devices. Tested with ovmf firmware on x86_64 with selftests but > > without secure boot which seems to be harder to setup in ovmf. > > > > Sadly I see two wic selftests, wic.Wic2.test_rawcopy_plugin_qemu and > > wic.Wic2.test_expand_mbr_image, failing when executing all wic selftests > > on a build machine with zfs filesystem. Will investigate this further. > > The issue seems to be in mkfs.ext4 producing broken filesystem, and > > partially > > in the tests which don't run the correct rootfs file (.ext4 vs .wic). > > Will debug this further and it is IMO unrelated to these changes since > > they reproduce on pure master branch without this series. > > > > v8: fixed comments from Ross Burton: debug print from warning to debug, > > dropped duplicate DISTRO_FEATURE setting for systemd in tests, > > removed aarch64 comment from tests which are currently x86 only. > > Fixed the new aarch64 wic selftest to run on both genericarm64 > > and qemuarm64 by adding bios, virtio disk driver etc settings > > for runqemu (already set in genericarm64 but missing from qemuarm64). > > > > v7: add missing "ovmf" to runqemu argument to > > test_efi_plugin_plain_systemd_boot_qemu_x86 to fix boot hang > > > > v6: fixes wic refactoring botch which broken non-uki systemd-boot usage on > > genericarm64 reported by Ross Burton <ross.bur...@arm.com>, added > > selftest to cover this wks usage on x86 and aarch64 > > > > v5: drop patch "image_types_wic.bbclass: set systemd-boot and os-release > > dependency for all archs" since systemd-boot does not support all > > architectures > > > > v4: handle missing runqemu variable from build config, add > > python3-pefile to fast ptest list > > > > v3: rebased, fixed and added more sefltests, removed wic plugin side uki > > support > > > > v2: https://lists.openembedded.org/g/openembedded-core/message/204090 > > > > Michelle Lin (1): > > uki.bbclass: add class for building Unified Kernel Images (UKI) > > > > Mikko Rapeli (7): > > wic bootimg-efi.py: keep timestamps and add debug prints > > wic bootimg-efi.py: change UKI support from wic plugin to uki.bbclass > > oeqa selftest uki.py: add tests for uki.bbclass > > oeqa selftest efibootpartition.py: add TEST_RUNQEMUPARAMS to runqemu > > oeqa selftest efibootpartition.py: remove systemd-boot from grub-efi > > test > > oeqa selftest wic.py: add TEST_RUNQEMUPARAMS to runqemu > > oeqa selftest wic.py: support UKIs via uki.bbclass > > > > I'm still seeing failures in CI: > > https://valkyrie.yoctoproject.org//#/builders/23/builds/249/steps/14/logs/stdio > > which is despite setting: > > https://git.yoctoproject.org/poky/commit/?h=master-next&id=6211ad9210e82a5a8dd157c63752ad332c2f5de6 > > QEMU_USE_KVM = "False" > > into the test to ensure it doesn't have the issue the barebox testing > was seeing. > > I've sent a patch to try and clean up the lock error. > > There is also this: > > https://valkyrie.yoctoproject.org//#/builders/76/builds/235 > https://valkyrie.yoctoproject.org//#/builders/48/builds/181 > https://valkyrie.yoctoproject.org//#/builders/54/builds/230 > > which is due to the binaries being run "in tree" within the edk2 build > as well as from the sysroot. This generates two sets of pyc files which > then conflict (or not) depending on which host the build ran on and > which pyc files are in sstate. > > We're going to have to get this fixed before it can merge, probably by > deleting the pyc files at install unless we can find anything more > elegant.
Sent an ovmf-native patch separately for this. Cheers, -Mikko
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#205741): https://lists.openembedded.org/g/openembedded-core/message/205741 Mute This Topic: https://lists.openembedded.org/mt/108947467/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-