Hi Heinrich,

Thank you for the patch.

On mer., oct. 09, 2024 at 00:32, Heinrich Schuchardt 
<heinrich.schucha...@canonical.com> wrote:

> The EFI boot-manager is the default method to boot EFI binaries.
> We should be able to use it on the Sandbox.
>
> * Enable EFI boot-manager bootmethod on the sandbox.
> * Adjust unit tests to reflect the additional boot method.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>

Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com>

> ---
>  arch/sandbox/dts/test.dts |  4 ++++
>  test/boot/bootmeth.c      | 28 +++++++++++++++++-----------
>  2 files changed, 21 insertions(+), 11 deletions(-)
>
> diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
> index 8412506c17a..1248ed66089 100644
> --- a/arch/sandbox/dts/test.dts
> +++ b/arch/sandbox/dts/test.dts
> @@ -119,6 +119,10 @@
>                       compatible = "u-boot,distro-efi";
>               };
>  
> +             efimgr {
> +                     compatible = "u-boot,efi-bootmgr";
> +             };
> +
>               theme {
>                       font-size = <30>;
>                       menu-inset = <3>;
> diff --git a/test/boot/bootmeth.c b/test/boot/bootmeth.c
> index 518d99c4a27..fe175ccb755 100644
> --- a/test/boot/bootmeth.c
> +++ b/test/boot/bootmeth.c
> @@ -21,11 +21,13 @@ static int bootmeth_cmd_list(struct unit_test_state *uts)
>       ut_assert_nextlinen("---");
>       ut_assert_nextline("    0    0  extlinux            Extlinux boot from 
> a block device");
>       ut_assert_nextline("    1    1  efi                 EFI boot from an 
> .efi file");
> -     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL))
> -             ut_assert_nextline(" glob    2  firmware0           VBE 
> simple");
> +     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL)) {
> +             ut_assert_nextline(" glob    2  efimgr              EFI bootmgr 
> flow");
> +             ut_assert_nextline(" glob    3  firmware0           VBE 
> simple");
> +     }
>       ut_assert_nextlinen("---");
>       ut_assert_nextline(IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) ?
> -              "(3 bootmeths)" : "(2 bootmeths)");
> +              "(4 bootmeths)" : "(2 bootmeths)");
>       ut_assert_console_end();
>  
>       return 0;
> @@ -56,11 +58,13 @@ static int bootmeth_cmd_order(struct unit_test_state *uts)
>       ut_assert_nextlinen("---");
>       ut_assert_nextline("    0    0  extlinux            Extlinux boot from 
> a block device");
>       ut_assert_nextline("    -    1  efi                 EFI boot from an 
> .efi file");
> -     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL))
> -             ut_assert_nextline(" glob    2  firmware0           VBE 
> simple");
> +     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL)) {
> +             ut_assert_nextline(" glob    2  efimgr              EFI bootmgr 
> flow");
> +             ut_assert_nextline(" glob    3  firmware0           VBE 
> simple");
> +     }
>       ut_assert_nextlinen("---");
>       ut_assert_nextline(IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) ?
> -              "(3 bootmeths)" : "(2 bootmeths)");
> +              "(4 bootmeths)" : "(2 bootmeths)");
>       ut_assert_console_end();
>  
>       /* Check the -a flag with the reverse order */
> @@ -71,11 +75,13 @@ static int bootmeth_cmd_order(struct unit_test_state *uts)
>       ut_assert_nextlinen("---");
>       ut_assert_nextline("    1    0  extlinux            Extlinux boot from 
> a block device");
>       ut_assert_nextline("    0    1  efi                 EFI boot from an 
> .efi file");
> -     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL))
> -             ut_assert_nextline(" glob    2  firmware0           VBE 
> simple");
> +     if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL)) {
> +             ut_assert_nextline(" glob    2  efimgr              EFI bootmgr 
> flow");
> +             ut_assert_nextline(" glob    3  firmware0           VBE 
> simple");
> +     }
>       ut_assert_nextlinen("---");
>       ut_assert_nextline(IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) ?
> -              "(3 bootmeths)" : "(2 bootmeths)");
> +              "(4 bootmeths)" : "(2 bootmeths)");
>       ut_assert_console_end();
>  
>       /* Now reset the order to empty, which should show all of them again */
> @@ -84,7 +90,7 @@ static int bootmeth_cmd_order(struct unit_test_state *uts)
>       ut_assertnull(env_get("bootmeths"));
>       ut_assertok(run_command("bootmeth list", 0));
>       ut_assert_skip_to_line(IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) ?
> -              "(3 bootmeths)" : "(2 bootmeths)");
> +              "(4 bootmeths)" : "(2 bootmeths)");
>  
>       /* Try reverse order */
>       ut_assertok(run_command("bootmeth order \"efi extlinux\"", 0));
> @@ -116,7 +122,7 @@ static int bootmeth_cmd_order_glob(struct unit_test_state 
> *uts)
>       ut_assert_nextline("Order  Seq  Name                Description");
>       ut_assert_nextlinen("---");
>       ut_assert_nextline("    0    1  efi                 EFI boot from an 
> .efi file");
> -     ut_assert_nextline(" glob    2  firmware0           VBE simple");
> +     ut_assert_nextline(" glob    3  firmware0           VBE simple");
>       ut_assert_nextlinen("---");
>       ut_assert_nextline("(2 bootmeths)");
>       ut_assertnonnull(env_get("bootmeths"));
> -- 
> 2.45.2

Reply via email to