Integrating Windows Deployment Services with existing Linux based PXE server for customer imaging needs

IT infrastructure in today’s world is far from black and white. It needs to be dynamic and have many different types of technologies mesh together to fit ever-evolving customer and user needs.

In our case, ICC uses a PXELINUX deployment to serve different types of live operating systems, diagnostics utilities, images, and more to internal client nodes over the network for testing purposes. However, we needed a way to integrate a Microsoft WDS server with our existing Linux based PXE server in order to cater to customer’s that have custom Windows imaging and mass deployment needs.

This is where PXE chain loading comes in, which is a simple and efficient solution in this particular environment. At a high level, chain loading is simply the linking of boot loaders, where one boot loader is loading another boot loader. This allows us to boot from the production Linux based PXE server, and easily hop over to the WDS server to begin Windows imaging of customer systems.

On our Linux PXE server, here is what the configuration entry looks like inside of the standard PXELINUX configuration file normally located at

/var/lib/tftpboot/pxelinux/pxelinux.cfg/default:
label WDS
    MENU LABEL WDS
    COM32 pxechn.c32
    APPEND <hostname of WDS server>::boot\x64\wdsnbp.com -W

With this configuration in place, we now have an entry on the Linux PXE server that points to the remote wdsnbp.com boot loader, and PXE boots the WDS environment for fast and efficient Windows imaging of our customer’s servers.