Wednesday, July 8, 2009

Customize your HPC Deployment Boot Image

Customizing driver support for Boot and Install images in HPC is quite easy. You just associate the drivers with an Image and they become available automatically. But the method used by the HPC tools to load the drivers in the Boot image tends to load them late in the boot process, via the drvload command.

What if your driver is not compatible with drvload?
I have come across instances where loading INF files via drvload prompts for a reboot to take effect. This breaks your HPC node deployment. You still have a need to get your chipset or network drivers loaded. What do you do?

Customize your Boot.WIM file manually
Using tools included in the Windows Automated Installation Kit (WAIK), you can inject drivers into your Boot.wim. Install WAIK and add its install directory to your system path.

NOTE:
This customization must be done to the Boot.WIM that is provided by HPC after your Head Node is built and configured. You can't copy the Boot.WIM file from one Head Node to another, as there are network calls in each that are hard coded to call home to the Head Node that created it.

Follow the instructions included with WAIK to mount your boot.wim image.

Copy boot.wim from your data\boot\x64 share. Place it in a temp directory on a machine with WAIK installed. Create a new directory in the same folder with the name 'mount'. Then mount the image for Read/Write.

Imagex /mountrw boot.wim 1 mount

Inject drivers using PEIMG.

peimg /inf=C:\Temp\Drivers\*.inf mount\windows (subsititue actual driver location path).

Dismount the image and commit changes.

Imagex /unmount /commit mount

Copy the image back to your head node deployment share, overwriting boot.wim. Deploy your compute nodes.

Now your custom drivers will load along with Windows and your deployment will no longer be held up by reboot prompts.

No comments:

Post a Comment

Comments are welcome. Please add tips, tricks and experiences of your own. Please do not post requests for support - I have a day job and will not have time to address individual issues.