
From: Rob Clark robdclark@gmail.com Date: Sun, 6 Aug 2017 12:10:28 -0400
Signed-off-by: Rob Clark robdclark@gmail.com
Kinda works, but since we don't have an 'exit' command like grub, we have to reboot, which leaves the "board" in a bad state (I guess, since the next test fails). I haven't tackled the travis bits to get travis to download OpenBSD's bootloader, or other little details like that.
What does the grub "exit" command do? Simply call EFI_BOOT_SERVICE.Exit()? Wouldn't be too difficult for me to add a command that does this.
The OpenBSD bootloader currently just executes an illegal instruction as EFI_RUNTIME_SERVICES.ResetSystem() didn't work at the time I wrote the code. Perhaps I should revisit that issue now.
test/py/tests/test_efi_loader.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/test/py/tests/test_efi_loader.py b/test/py/tests/test_efi_loader.py index 5d7f5dbfb2..376f6442a3 100644 --- a/test/py/tests/test_efi_loader.py +++ b/test/py/tests/test_efi_loader.py @@ -193,3 +193,22 @@ def test_efi_grub_net(u_boot_console):
# And give us our U-Boot prompt back u_boot_console.run_command('')
+@pytest.mark.buildconfigspec('cmd_bootefi') +def test_efi_openbsd_net(u_boot_console):
- """Run OpenBSD's bootloader via TFTP.
- The bootaa64.efi file is downloaded from the TFTP server and
- gets executed.
- """
- addr = fetch_tftp_file(u_boot_console, 'env__efi_loader_openbsd_file')
- u_boot_console.run_command('bootefi %x' % addr, wait_for_prompt=False)
- # Check that bootloader loads properly:
- u_boot_console.wait_for('boot>')
- # There is no exit, but there is a reboot cmd.. maybe we need to do
- # more than this to get u-boot running again??
- u_boot_console.run_command('reboot', wait_for_prompt=False, wait_for_echo=False)
-- 2.13.0
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot