[Question]: HTTP command not available in UEFI Shell for LX2160ardb build

Description

Hi, I’m building UEFI for LX2160ardb and can successfully boot into the UEFI shell, but the http command is not available despite adding HttpDynamicCommand in configuration files.

Environment

  • Platform: NXP LX2160ardb (ARM64)

  • Build Method: Docker-based build from repository : link repo

Steps Taken

1. Initial Build

Following the README:

docker build -t lx2160a_uefi docker/
docker run -v "$(PWD)":/work:Z --rm -i -t lx2160a_uefi build

2. Flash and Boot

  • Flashed the generated .img to the board

  • Board boots successfully into UEFI shell

  • tftp command is available and works (verified with help)

  • http command is NOT available

3. Manual Configuration Attempts

Since tftp works, I followed the same configuration pattern for http and edited these files:

Modified files:

  • build/tianocore/edk2/ShellPkg/ShellPkg.dsc

  • build/tianocore/edk2/UefiPayloadPkg/UefiPayloadPkg.dsc

  • build/tianocore/edk2/UefiPayloadPkg/UefiPayloadPkg.fdf

  • build/tianocore/edk2-platforms/Platform/NXP/NxpQoriqLs.dsc

  • build/tianocore/edk2-platforms/Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.fdf

  • build/tianocore/edk2-platforms/Platform/SolidRun/LX2160aCex7/LX2160aCex7.fdf

Added HttpDynamicCommand entries following the same pattern as TftpDynamicCommand.

4. Rebuild

Rebuilt using the same Docker command, but http command still doesn’t appear.

Current Behavior

  • UEFI shell boots successfully

  • tftp command is available

  • http command returns: 'http' is not recognized as an internal or external command

  • Network drivers appear to be loaded (tftp works)

Questions

  1. Are build flags required? I noticed the -D parameter can pass defines at build time (like -D NETWORK_ENABLE). Are specific flags needed for HTTP support on this platform?

  2. How to verify active defines? Is there a way to check which defines are actually being set during the build process?

  3. Platform-specific requirements? Are there additional requirements for ARM64/LX2160a platform that differ from x86 OVMF builds?

  4. Missing dependencies? Could there be missing network protocol drivers or PCDs that HTTP requires but TFTP doesn’t?

Expected Behavior

The http command should be available in the UEFI shell, similar to how tftp is available.

Additional Context

I’m new to EDK2 development. Any guidance on what I might be missing would be greatly appreciated! If you need me to provide specific configuration snippets or build logs, please let me know.

Our edk2 fork only carries patches for our specific carriers. For NXP’s RDB I recommend you use their edk2-platforms fork in the nxp-qoriq github repo.

Ok thanks, I found the repo I will try.

I am just curious because the code source is available on your fork under ShellPkg/DynamicCommand and I wondered that there was a way to activate it.