How does uboot support the network?

I want to start the linux system via network download instead of putting it in the SD card.
The uboot startup process is as follows:
U-Boot 2017.09-02383-g233a23e3ed (Nov 23 2020 - 01:51:25 +0000), Build: jenkins-linux-build-release-409

Model: Radxa ROCK Pi S
PreSerial: 0
DRAM: 510 MiB
Relocation Offset is: 1f91c000
vdd_core 1044000 uV
vdd-core init 1044000 uV
MMC: dwmmc@ff480000: 0, dwmmc@ff490000: 1
Using default environment

In: serial@ff0c0000
Out: serial@ff0c0000
Err: serial@ff0c0000
Model: Radxa ROCK Pi S
Bootdev(atags): mmc 0
PartType: EFI

Error: Can’t overwrite “serial#”

Error inserting “serial#” variable, errno=1

get part misc fail -1
boot mode: None
CLK:
apll 816000 KHz
dpll 1300000 KHz
vpll0 1179647 KHz
vpll1 903167 KHz
aclk_bus 185714 KHz
hclk_bus 100000 KHz
pclk_bus 100000 KHz
aclk_peri 185714 KHz
hclk_peri 100000 KHz
pclk_peri 100000 KHz
hclk_audio 98303 KHz
pclk_audio 98303 KHz
Net: Net Initialization Skipped
No ethernet found.
Is there no network driver for the official uboot?
I found the following code in u-boot/net/eth_legacy.c:
int eth_initialize(void)
{
int num_devices = 0;

eth_devices = NULL;
eth_current = NULL;
eth_common_init();
/*  
 * If board-specific initialization exists, call it.
 * If not, call a CPU-specific one
 */
if (board_eth_init != __def_eth_init) {
    if (board_eth_init(gd->bd) < 0)
        printf("Board Net Initialization Failed\n");
} else if (cpu_eth_init != __def_eth_init) {
    if (cpu_eth_init(gd->bd) < 0)
       printf("CPU Net Initialization Failed\n");
} else {
    printf("Net Initialization Skipped\n");
}