Slow PXE boot

Domagoj Smolčić rank1seeker at gmail.com
Mon Feb 24 02:23:08 UTC 2020


Yo Crew!

During PXE boot, from server (11.3-RELEASE-p5 i386) with 1 GB RAM, client with:
    4 GB RAM booted kernel in  ~2 min
    8 GB RAM booted kernel in ~20 min (at least)
So all below is tested with 2 different clients, each with NIC of different manufacturer (Realtec & Intel)

I've read on forums that if client has much, much more RAM than server, this happens.
Suggestion was to to set loader(8) tunable hw.memtest.tests to 0, so client would skip RAM test.

PXE boot is served to clients from /PXE, so ...
Setting hw.memtest.tests="0" in /PXE/boot/loader.conf, yielded no results!

By the way, for some reason, hw.memtest.tests tunable DOESN'T exist in man pages!
I had to look in source code to confirm it still exists.


Next, I've tried:
# echo 'nfs.read_size="16384"' > /PXE/boot/loader.conf
    Changing value to ANY value other than default 1024, completely halts client's kernel loading at 'Loading kernel...'!


Lastly, I've tried tactic used with UFS's stage 2 /boot/boot, to skip stage 3 loader completely and to directly load kernel instead.
So in dhcpd.conf, I've replaced:
    filename "boot/pxeboot";
with:
    filename "boot/kernel/kernel";

Result:
    Attempt to pull GENERIC kernel directly, resulted in: "NBP is too big to fit in free base memory"
Maybe I should try to compile custom minimal kernel 'ident PXE' ...
It is unbelievable how many problems do I have ...



Domagoj Smolčić


More information about the freebsd-hackers mailing list