[PATCH] efi: Select also CMD_DHCP from EFI_HTTP_BOOT
E Shattow
e at freeshell.de
Wed Aug 20 03:49:37 CEST 2025
CC: Jerome
Hi Jan, and Heinrich, et al.
On 8/19/25 07:45, Heinrich Schuchardt wrote:
> On 19.08.25 16:33, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kiszka at siemens.com>
>>
>> This is needed because distro_efi_read_bootflow_net will then need
>> dhcp_run which is not already enabled by CMD_NET.
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
>> ---
>> lib/efi_loader/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
>> index c2aa88f59fb..a4055e1cb43 100644
>> --- a/lib/efi_loader/Kconfig
>> +++ b/lib/efi_loader/Kconfig
>> @@ -564,6 +564,7 @@ config EFI_HTTP_BOOT
>> bool "EFI HTTP Boot support"
>> depends on NET || NET_LWIP
>> select CMD_NET
>> + select CMD_DHCP
>
> It would be preferable to get rid of all CMD_* symbols here. They are
> just the result of missing separation of CLI and library.
>
> DHCP is not needed to boot via HTTP. You can manually set up a network
> interface.
>
> Please, change your patch to use "implies".
>
> Best regards
>
> Heinrich
>
>> select CMD_DNS
>> select CMD_WGET
>> select BLKMAP
>
Yes this is the overall trouble I see and why I am writing [1] about
symbol names being shortened too much. It would be self-documenting and
more readable to refactor the network protocol symbol names throughout
U-Boot allowing as:
select PROTO_NET_DHCP
select PROTO_NET_DNS
select PROTO_NET_HTTP
select BLKMAP
...where there is no question what is intended. Compare to:
select DHCP
select DNS
select HTTP
select BLKMAP
...is very short, but not helpful for code maintenance, and in my
opinion very quickly reading this code block I do not understand which
symbols are network protocols; and searching the code base for all
network protocols in config is not simple, there is not enough information.
It makes most sense to me reading that CONFIG_CMD_DNS selects
PROTO_NET_DNS and if I am writing some code elsewhere this example is
easy to understand I should select PROTO_NET_DNS
I favor a wider change of renaming symbols for legacy network NET to
become LNET and then the result can be "NET" refers to any network stack
including LNET and LWIP. Then what I have suggested here for the context
of this patch will not be confused about selecting legacy network
protocols; it is about being readable and simple to understand quickly.
1: "Re: [PATCH] net: introduce CONFIG_DNS"
https://lore.kernel.org/u-boot/d77f193b-0b0a-44cd-b0e0-7da83a6a8f4b@freeshell.de/
- E Shattow
More information about the U-Boot
mailing list