[PATCH v9 00/11] efi: Add a test for EFI bootmeth

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Nov 7 11:45:47 CET 2024


On 11/1/24 16:32, Simon Glass wrote:
> Hi all,
>
> On Fri, 1 Nov 2024 at 16:26, Simon Glass <sjg at chromium.org> wrote:
>>
>> The test coverage for the EFI bootmeth is incomplete since it does not
>> actually boot the application.
>>
>> This series creates a simple test for this purpose. It includes a few
>> patches to make this work:
>>
>> - Revert of an unreviewed patch to change the sandbox efi filename
>> - Hang in sandbox virtio due to EFI probing all block devices
>>
>> Other necessary fixes have already been applied.
>>
>> Changes in v10:
>> - Drop call to exit-boot-services
>>
>> Changes in v9:
>> - Update license
>> - Fix 'sevices' typo
>> - Move the function into efi_helper.c
>> - Split out into a separate change
>> - Split out into its own patch
>> - Separate into separate patches
>> - Add new patch to drop sandbox PXE architecture
>> - Mark the image as complete after writing it
>> - Fix 'sevices' typo
>>
>> Changes in v8:
>> - Add new patch to control on-host behaviour
>> - Add new patch to move default filename to a function
>> - Add new patch to report host default-filename in native mode
>> - Add new patch to report host default-filename in native mode
>>
>> Changes in v7:
>> - Update commit message
>> - Drop patches already applied
>> - Drop patch 'Disable ANSI output for tests'
>> - Rebase on -master
>>
>> Changes in v6:
>> - Drop the patch to disable sandbox virtio blk with EFI
>> - Add new patch to disable the sandbox virtio blk device
>> - Deal with sandbox CONFIG_LOGF_FUNC
>> - Rebase on -next
>> - Drop patches previously applied
>> - Drop mention of helloworld since it is no-longer used by this test
>>
>> Changes in v4:
>> - Add efi_loader tag to some patches
>> - Split out non-EFI patches into a different series
>>
>> Changes in v2:
>> - Add many new patches to resolve all the outstanding test issues
>>
>> Simon Glass (11):
>>    test: boot: Update bootflow_iter() for console checking
>>    efi_loader: Add a test app
>>    sandbox: Add a -N flag to control on-host behaviour
>>    efi: Move default filename to a function
>>    efi_loader: Move get_efi_pxe_arch() to efi_helper
>>    efi_loader: Allow reporting the host defaults
>>    sandbox: Report host default-filename in native mode
>>    efi_loader: Drop sandbox PXE architecture
>>    sandbox: virtio: Disable the sandbox virtio blk device
>>    test: efi: boot: Set up an image suitable for EFI testing
>>    test: efi: boot: Add a test for the efi bootmeth
>>
>>   arch/Kconfig                        |   3 +-
>>   arch/sandbox/cpu/start.c            |  10 ++++
>>   arch/sandbox/dts/test.dts           |   2 +-
>>   arch/sandbox/include/asm/state.h    |   1 +
>>   boot/bootmeth_efi.c                 |  29 ++----------
>>   cmd/efidebug.c                      |  25 ++++++++++
>>   include/efi.h                       |  34 +++++++++++++
>>   include/efi_default_filename.h      |  56 ----------------------
>>   lib/efi_loader/Kconfig              |  10 ++++
>>   lib/efi_loader/Makefile             |   1 +
>>   lib/efi_loader/efi_bootmgr.c        |  10 ++--
>>   lib/efi_loader/efi_helper.c         |  71 ++++++++++++++++++++++++++++
>>   lib/efi_loader/testapp.c            |  64 +++++++++++++++++++++++++
>>   test/boot/bootdev.c                 |  18 ++++++-
>>   test/boot/bootflow.c                |  67 ++++++++++++++++++++++++--
>>   test/py/tests/bootstd/flash1.img.xz | Bin 0 -> 4924 bytes
>>   test/py/tests/test_ut.py            |  53 ++++++++++++++++++---
>>   17 files changed, 356 insertions(+), 98 deletions(-)
>>   delete mode 100644 include/efi_default_filename.h
>>   create mode 100644 lib/efi_loader/testapp.c
>>   create mode 100644 test/py/tests/bootstd/flash1.img.xz
>
> I hope this series can meet with approval and go in. I know it isn't
> perfect, but we can then work on things from there. The first thing is
> to drop the various .xz files, which I'll look at once this lands.
>
> Regards,
> Simon

I tried to apply the series. But it fails in the CI.

https://source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/941546

Best regards

Heinrich




More information about the U-Boot mailing list