[syslinux] Memory usage with memdisk vs initrd a squashfs

Gene Cumm gene.cumm at gmail.com
Thu Mar 13 13:08:35 PDT 2014


On Thu, Mar 13, 2014 at 3:31 PM, Ian Bannerman <ian at internals.io> wrote:
> Question,
>
> Some Linux distributions I support show two approaches for pxe booting them. One uses memdisk to boot an ISO file. The other uses pxelinux to boot kernel and initrd a squashfs file.
> I'm unfamiliar with the impact to memory either approach has. Like, does using memdisk permanently squirrel away a chunk of memory for the ISO file that the OS will be unable to use? Is using initrd to pull down the squashfs file more or less efficient?
> I would appreciate any insight! Apologies for the noob question :)

Generally, the RAM that MEMDISK uses is permanently reserved however
that doesn't mean it's unusable.  You can still mount the ISO assuming
you have the right tools like memdiskfind.

As far as efficiency, a small initrd to fetch another file will be
more efficient (an ISO might have extra unnecessary stuff like a copy
of the kernel and initrd) and would load faster.  In my experience
TFTP with PXE tops out around 1 MB/s while an HTTP load can easily see
17MB/s or more.  lpxelinux.0 (the lwIP-enabled PXELINUX for BIOS) can
achieive this as can gpxelinux.0/ipxelinux.0 or PXELINUX ontop of
gPXE/iPXE.  You can also see this when loading the file after the
kernel is booted which would often be a little bit faster than
HTTP-capable PXELINUX.

-- 
-Gene


More information about the Syslinux mailing list