
On Tue, Jul 30, 2024 at 11:48:06AM +0200, Jerome Forissier wrote:
On 7/25/24 19:22, Tom Rini wrote:
On Thu, Jul 25, 2024 at 02:57:21PM +0200, Jerome Forissier wrote:
This is a rework of a patch series by Maxim Uvarov: "net/lwip: add lwip library for the network stack" [1]. The goal is to introduce the lwIP TCP/IP stack [2] [3] as an alternative to the current implementation in net/, selectable with Kconfig, and ultimately keep only lwIP if possible. Some reasons for doing so are:
- Make the support of HTTPS in the wget command easier. Javier T. and
Raymond M. (CC'd) have some additional lwIP and Mbed TLS patches to do so. With that it becomes possible to fetch and launch a distro installer such as Debian etc. using a secure, authenticated connection directly from the U-Boot shell. Several use cases:
- Authentication: prevent MITM attack (third party replacing the
binary with a different one)
- Confidentiality: prevent third parties from grabbing a copy of the
image as it is being downloaded
- Allow connection to servers that do not support plain HTTP anymore
(this is becoming more and more common on the Internet these days)
- Possibly benefit from additional features implemented in lwIP
- Less code to maintain in U-Boot
Prior to applying this series, the lwIP stack needs to be added as a Git subtree with the following command:
$ git subtree add --squash --prefix lib/lwip/lwip https://git.savannah.gnu.org/git/lwip.git STABLE-2_2_0_RELEASE
This is better than v4, and on the hardware platforms I could build and boot on (which was most of mine except the am62x_beagleplay), the tests ran and completed, including the tftp+boot a Linux kernel.
The bad news is CI blows up, a lot: https://source.denx.de/u-boot/u-boot/-/pipelines/21764
They're all failing with: undefined reference to `tftp_start' The reason is I inadvertently removed the 'default y' on CMD_TFTPBOOT :/ Fixed in v6.
And: https://dev.azure.com/u-boot/a1096300-2999-4ec4-a21a-4c22075e3771/_apis/buil... which is another Kconfig dependency problem. I don't _think_ I introduced that, but since this wasn't against top of tree, I had to apply the cmd/Kconfig patch manually.
What's the build command? I can see:
/bin/bash --noprofile --norc /Users/runner/work/_temp/9710a6d2-6670-4f76-81bc-990cc45b1898.sh
...but that's not super helpful ;)
make tools-only_defconfig or so, sorry.