Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iPXE slow to download vmlinuz and initrd
2018-04-09, 08:45
Post: #3
RE: iPXE slow to download vmlinuz and initrd
Hi, I found a partial workaround.
My problem is a software issue (or at least can be addressed by software means), because I have a partial workaround with the same hardware.

1 - answers to NiKiZe questions
2 - a comment on a workaround I was initially contemplating
3 - the partial workaround that "worked" for me

1-
I connected the LTSP client straight to the server, without any switch in between: the speed is completely unacceptable.
Normally it takes 10+ minutes to boot but it once took between 30 minutes and an hour (this was unusual, I have no idea why it was so different this time).
The embedded NIC (Fast Ethernet only) is detected by iPXE as: "dlink-530tx".
When I iPXE boot from the embedded NIC, the boot speed is normal, and vmlinuz + initrd are downloaded in just a few seconds.
So one could suspect the Gigabit NIC. But it seems to depend on how you interface with the NIC.

2-
I was initially thinking that it was iPXE that had to download vmlinuz and initrd, but this does not seem to be accurate, at least this is not done via the imgdownload function.
I added a printf of the URI each time imgdownload is called, and imgdownload just downloads pxelinux.0, not vmlinuz and initrd.
I guess that it is pxelinux.0 that somehow triggers the download of vmlinuz and initrd.
So in fact I don't even seem to have an easy way to locally load vmlinuz and initrd (I would need to dig further but don't need this anymore - see below).

3-
I noticed that in my LTSP server (version 5.5.7-1) I have both pxelinux.0 and gpxelinux.0.
What I did was simply to rename pxelinux.0 to pxelinux.0.bak and gpxelinux.0 to pxelinux.0.
Now the "pxelinux.0" that gets downloaded by iPXE is in fact gpxelinux.0.
It works like a charm.
iPXE is still terribly slow (typically well below 100 kbit/s, i.e. well below 0.01% of the NIC's capacity).
But since gpxelinux.0 is a very small file, it only takes about a minute to get it (sometimes less, but this is not predictable) and is more or less "OK" (although it's a pain when it gets close to or exceeds the minute, you can live with it).
Then the gpxelinux.0 magic leads to downloading vmlinuz and initrd at a "normal" speed (although rather Fast Ethernet than Gigabit/s speed), i.e. a few seconds instead of more than 10 minutes (sometimes a lot more).
Once booted, my LTSP client enjoys a true Gigabit link - it can view and navigate through youtube videos without any freezing (which is not the case with the embedded Fast Ethernet NIC), etc.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: iPXE slow to download vmlinuz and initrd - leonard - 2018-04-09 08:45



User(s) browsing this thread: 1 Guest(s)