Skip to content

Conversation

@rmetrich
Copy link

This PR implements new efidp_make_uri() function used to add the Uri device path to netboot entries.
The efi_generate_ipv4_device_path() function has now a new parameter to specify the Uri.

@rmetrich rmetrich changed the title Implement optional Uri option to Netboot entry WIP: Implement optional Uri option to Netboot entry Jun 2, 2022
@frozencemetery frozencemetery marked this pull request as draft June 8, 2022 18:37
rmetrich added 6 commits July 6, 2022 07:21
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
efidp_make_uri() implements Uri device path used when generating a IPv4
device path.
efi_generate_ipv4_device_path() being public hence not modifiable, a new
version called efi_generate_ipv4_device_path_with_uri() enables to
specify the Uri.

Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
This avoids pushing garbage into the device node, e.g.:

00000000  07 00 00 00 01 00 00 00  44 00 54 00 45 00 53 00  |........D.T.E.S.|
00000010  54 00 32 00 00 00 03 0b  25 00 52 54 00 04 a7 a0  |T.2.....%.RT....|
00000020  00 00 00 00 00 00 00 00  65 66 69 76 61 72 73 2f  |........efivars/|
                                   ^^^^^^^^^^^^^^^^^^^^^^^
00000030  42 6f 6f 74 30 30 30 33  2d 38 01 03 0c 1b 00 00  |Boot0003-8......|
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 7f ff  04 00                    |..........|
0000005a
@heitbaum
Copy link

@ubombi
Copy link

ubombi commented Sep 3, 2025

Out of curiosity I compiled this version of efivars and efibootmgr that supports it. It seemed like working, boot options were created, but UEFI couldn't see them, even though it does support HTTP boot, and had generic options enabled.

UEFI specs for HTTP boot haven't changed since 2.8, yet my "complaint" EFI v2.8 by American Megatrends doesn't work.

I'm not familiar with EFI or it's implementation, so It can also be my mistake.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants