[PATCH v7 08/14] efi_loader: net: set EFI bootdevice device path to HTTP when loaded from wget

Tom Rini trini at konsulko.com
Thu Dec 5 16:19:24 CET 2024


On Thu, Dec 05, 2024 at 10:00:11AM +0100, Heinrich Schuchardt wrote:
> On 05.12.24 02:30, Tom Rini wrote:
> > On Wed, Dec 04, 2024 at 12:05:23AM -0300, Adriano Cordova wrote:
> > 
> > > Set the device path of the efi boot device to an HTTP device path
> > > (as formed by efi_dp_from_http) when the next boot stage is loaded
> > > using wget (i.e., when wget is used with wget_info.set_bootdev=1).
> > > 
> > > When loaded from HTTP, the device path should account for it so that
> > > the next boot stage is aware (e.g. grub only loads its http stack if
> > > it itself was loaded from http, and it checks this from its device path).
> > > 
> > > Signed-off-by: Adriano Cordova <adrianox at gmail.com>
> > > Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > 
> > I know this is applied now, but after re-checking some things in one of
> > my labs, this breaks test_efi_helloworld_builtin on rpi_3 at least (and
> > possibly others). There is no output from "bootefi hello".
> > 
> 
> Hello Tom,
> 
> None of the Raspberry Pi 3 related defconfigs enables bootefi hello:
> 
> rpi_3_32b_defconfig # CONFIG_CMD_BOOTEFI_HELLO is not set
> rpi_3_defconfig # CONFIG_CMD_BOOTEFI_HELLO is not set
> rpi_3_b_plus_defconfig # CONFIG_CMD_BOOTEFI_HELLO is not set
> rpi_arm64_defconfig # CONFIG_CMD_BOOTEFI_HELLO is not set
> 
> Which configuration have you been testing?
> 
> Please, supply the .config and the related test log.
> 
> I just tested pinea64-lts_defconfig with CONFIG_CMD_BOOTEFI_HELLO=y and get
> 
> => bootefi hello
> Card did not respond to voltage select! : -110
> Booting /MemoryMapped(0x0,0xbdfbe9b0,0xbdfc1b60)
> Hello, world!
> Running on UEFI 2.10
> Firmware vendor: Das U-Boot
> Firmware revision: 20250100
> Have device tree
> Load options: <none>
> File path: <none>
> Boot device: /MemoryMapped(0x0,0xbdfbe9b0,0xbdfc1b60)
> 
> So there seems to be no generic problem.

For testing as much as possible, I do enable a number of additional
options (as well as building them with clang). In this case, please try
also enabling CONFIG_CMD_WGET. I've narrowed my config changes down to
adding both CONFIG_CMD_BOOTEFI_HELLO=y and CONFIG_CMD_WGET=y to
rpi_3_defconfig which results in:
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-6.2.5, py-1.11.0, pluggy-0.13.0
rootdir: /home/trini/u-boot/u-boot/test/py, configfile: pytest.ini
plugins: forked-1.6.0, xdist-2.5.0
collected 478 items / 424 deselected / 54 selected

test/py/tests/test_efi_fit.py s                                          [  1%]
test/py/tests/test_efi_loader.py .....F

=================================== FAILURES ===================================
_________________________ test_efi_helloworld_builtin __________________________
test/py/tests/test_efi_loader.py:208: in test_efi_helloworld_builtin
    assert expected_text in output
E   AssertionError: assert 'Hello, world' in ''
----------------------------- Captured stdout call -----------------------------
U-Boot> bootefi hello
U-Boot>
=========================== short test summary info ============================
SKIPPED [1] test/py/conftest.py:620: .config feature "fit" not enabled
FAILED test/py/tests/test_efi_loader.py::test_efi_helloworld_builtin - Assert...
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
=========== 1 failed, 5 passed, 1 skipped, 424 deselected in 27.01s ============

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241205/9df05a52/attachment.sig>


More information about the U-Boot mailing list