Den Thu, Sep 30, 2021 at 23:46:00 +0100 skrev Richard Purdie:
> On Mon, 2021-09-27 at 13:18 +0200, Kristian Klausen wrote:
> > Den Mon, Sep 13, 2021 at 10:13:04 +0200 skrev Kristian Klausen:
> > > "A unified kernel image is a single EFI PE executable combining an EFI
> > > stub loader, a kernel image, an initramfs image, and the kernel command
> > > line.
> > > 
> > > [...]
> > > 
> > > Images of this type have the advantage that all metadata and payload
> > > that makes up the boot entry is monopolized in a single PE file that can
> > > be signed cryptographically as one for the purpose of EFI
> > > SecureBoot."[1]
> > > 
> > > This commit adds a create-unified-kernel-image=true option to the
> > > bootimg-efi plugin for creating a Unified Kernel Image[1] and installing
> > > it into $BOOT/EFI/Linux/ with a .efi extension per the the Boot Loader
> > > Specification[1][2]. This is useful for implementing Secure Boot.
> > > 
> > > systemd-boot is the only mainstream bootloader implementing the
> > > specification, but GRUB should be able to boot the EFI binary, this
> > > commit however doesn't implement the necessary changes to the GRUB
> > > config generation logic to boot the Unified Kernel Image.
> > > 
> > > [1] 
> > > https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images
> > > [2] https://systemd.io/BOOT_LOADER_SPECIFICATION/
> > > 
> > > Signed-off-by: Kristian Klausen <krist...@klausen.dk>
> > 
> > Any update on getting this merged?
> > 
> > Cheers,
> > Kristian
> > 
> > > ---
> > > V2:
> > > Add os-release as dependency
> > > Pull os-release file from STAGING_DIR_HOST, so it doesn't need to be
> > > installed into the rootfs
> > > Add selftest
> > > 
> > >  meta-selftest/wic/test_efi_plugin.wks         |  6 ++
> > >  meta/classes/image_types_wic.bbclass          |  5 +-
> > >  meta/lib/oeqa/selftest/cases/wic.py           | 29 ++++++++
> > >  scripts/lib/wic/plugins/source/bootimg-efi.py | 71 ++++++++++++++++---
> > >  4 files changed, 99 insertions(+), 12 deletions(-)
> > >  create mode 100644 meta-selftest/wic/test_efi_plugin.wks
> > > 
> > > diff --git a/meta-selftest/wic/test_efi_plugin.wks 
> > > b/meta-selftest/wic/test_efi_plugin.wks
> > > new file mode 100644
> > > index 0000000000..1603d6c4bb
> > > --- /dev/null
> > > +++ b/meta-selftest/wic/test_efi_plugin.wks
> > > @@ -0,0 +1,6 @@
> > > +# short-description: This file is used in oe-selftest wic module to test 
> > > efi plugin
> > > +
> > > +part /boot --source bootimg-efi 
> > > --sourceparams="loader=systemd-boot,create-unified-kernel-image=true,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}"
> > >  --active --align 1024 --use-uuid
> > > +part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
> > > +
> > > +bootloader  --timeout=0 --append="console=ttyS0,115200n8"
> > > diff --git a/meta/classes/image_types_wic.bbclass 
> > > b/meta/classes/image_types_wic.bbclass
> > > index d561fb2636..e3863c88a9 100644
> > > --- a/meta/classes/image_types_wic.bbclass
> > > +++ b/meta/classes/image_types_wic.bbclass
> > > @@ -27,6 +27,7 @@ WICVARS ?= "\
> > >   ROOTFS_SIZE \
> > >   STAGING_DATADIR \
> > >   STAGING_DIR \
> > > + STAGING_DIR_HOST \
> > >   STAGING_LIBDIR \
> > >   TARGET_SYS \
> > >  "
> > > @@ -84,8 +85,8 @@ do_image_wic[deptask] += "do_image_complete"
> > >  WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 
> > > 'x86_64', 'i686' ], "syslinux-native", "",d)}'
> > >  WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native 
> > > btrfs-tools-native squashfs-tools-native e2fsprogs-native"
> > >  WKS_FILE_DEPENDS_BOOTLOADERS = ""
> > > -WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot"
> > > -WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot"
> > > +WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot 
> > > os-release"
> > > +WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot 
> > > os-release"
> > >  WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"
> > >  
> 
> Sadly this fails during testing on several machines:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/2676
> 
> which is probably from the os-release dependency. I need to remove this patch
> and retest but given it is wic failures, I suspect this patch...
> 
> Cheers,
> 
> Richard
> 

Hi Richard

That is unfortunate. I just had a quick look at the failed no-x11 
build[1] and failed wic build[3]. According to the error logs[2][4] the 
"postinstall intercept hook 'update_gio_module_cache'" is failing due 
to:
TOPDIR/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/rootfs/usr/libexec/gio-querymodules:
 /lib64/libc.so.6: version `GLIBC_2.34' not found (required by 
TOPDIR/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/rootfs/usr/libexec/gio-querymodules)

So I'm not sure it is related to my patch, please let me know how it 
goes with the retest and I can investigate further if my patch is to 
blame.

For the record, the tested patch wasn't this (v2) but the v3[5].

[1] https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/4084
[2] https://errors.yoctoproject.org/Errors/Build/131891/
[3] https://autobuilder.yoctoproject.org/typhoon/#/builders/58/builds/4049
[4] https://errors.yoctoproject.org/Errors/Build/131857/
[5] 
https://lists.openembedded.org/g/openembedded-core/topic/patch_v3_wic_bootimg_efi/85923375

Cheers,
Kristian
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156512): 
https://lists.openembedded.org/g/openembedded-core/message/156512
Mute This Topic: https://lists.openembedded.org/mt/85570082/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to