Slow PXE boot

Domagoj Smolčić rank1seeker at gmail.com
Fri Feb 28 02:26:52 UTC 2020


Mark,

PXE clients are directly connected to FreeBSD based PXE server, with same ETH cable.
There is no any intermediate hardware like switch, etc ...
Regarding '... running at 100mb 1/2 duplex', nope ..., in bios setting is all set to "max" for NICs

Finally, result is always 100% repeatable for both tested clients.
One always being super fast and the other, unbelievably slow ...


On Mon, 24 Feb 2020 08:46:20 -0500
Mark Saad <nonesuch at longcount.org> wrote:

> Domagoj 
>    I regularly boot 11.3-Stable and 12.1-Stable amd64 on servers with
> 64gb, 128gb , and occasional more . I do t have that issue . Can you
> take a peak at the switch your boxes are attached to ; It sounds like
> a device is running at 100mb 1/2 duplex . I remember the realtec nics
> doing this when set to auto . 
> 
> ---
> Mark Saad | nonesuch at longcount.org
> 
> > On Feb 23, 2020, at 9:23 PM, Domagoj Smolčić
> > <rank1seeker at gmail.com> wrote:
> > 
> > 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