[ipxe-devel] Evolution proposal : zlib integration

René Garcia rene at margar.fr
Wed Jan 23 09:33:36 UTC 2013


I'm a Solaris admin and I'm searching a solution to boot solaris 
(versions 10 and 11) from network. Solaris provides a solution based on 
pxegrub. It works but is very slow and relies on a single TFTP server. I 
want to use iPXE to take benefits from other download protocols (http). 
Unfortunately kernel loads perfectly but boot_archive (solaris initrd) 
is not usable when loaded by iPXE. This is due to gzip compression. 
Kernel does not uncompress the boot_archive. Uncompress is expected to 
be done by the image loader (grub, mboot.c32,...) and iPXE does not 
uncompress loaded modules.

I have decided to modify iPXE source code from repository to include 
zlib library and add an option to imgload (initrd) command to allow 
uncompression on image load.

initrd --unzip http://myserver/solaris/11.11/boot_archive

if compression header is detected on loaded image it will be inflated. 
If --unzip is omitted or compression header is not detected, image will 
be loaded the old way.

Now I'm able to netboot Solaris with iPXE only (no pxegrup nor syslinux 
tools needed anymore).

Are you interested with my contribution ? The main drawback is the 
small size increase of iPXE. This may be critical for embeded ROM iPXE.


More information about the ipxe-devel mailing list