We are starting to deploy the new Quad-Quad Dell R900 servers here (16 cores) via BDD 2007. We have had great success with the Dell PowerEdge 2950, which uses a similar Braodcom dual-driver NetXtreme II 1GigE net card.
For the 2950, we would run a custom script in Windows PE to load both halves of the driver stack (since Win PE does not detect newly attached PnP devices). The drivers that worked for the 2950 would NOT work for the R900.
Dell, unfortunately, did not make drives available for the R900 in a format that could be used. Via their support site, I could download the installer package for the drivers, but it attempts to actually install the drivers, not just deliver them in a flat directory for me to import into BDD. What to do?
I downloaded the CD-ROM ISO that Dell provides for OS installation. This CD would normally be used by booting off of it and running through a little wizard to configure an UNATTEND.TXT file, then swapping it out for the OS CD/DVD upon which the installation completes. Obviously, the drivers for the system must be in there somewhere.
Buried on the CD was a tool to handily extract said drivers for me. Buried in the Server_Assistant\Driver_Tool\Bin directory (from the 5.3 version of the CD) was a tool called make_driver_dir.exe. This tool would take a couple of parameters and provide a directory of extracted drivers for a given server model and operating system. The CD supports all 6th generation servers up through the current models and for the following operating systems:
-
Red Hat Linux in 32-bit (rh30, rh40, rh50) and 64-bit (rh30_64, rh40_64, rh50_64) versions
-
SUSE Linux in 64-bit (suse9_64, suse10_64) versions
-
VMware ESX (esx310)
-
Windows 2000 (w2000)
-
Windows 2003 (w2003, w2003_64, w2003sbs)
-
Windows 2008 (w2008, w2008_64, winlh, winlh_64)
The nicknames listed in bold are the OS names to use with the tool to extract drivers.
Using this tool, I was able to obtain working Broadcom drivers that work for the system. In addition, I changed how I install those drivers.
For Windows PE, I am now making use of the monolithic stack drivers (the RIS driver) since I now have a version that is 64-bit. I had to clean up the INF file a bit before importing it into the BDD Workbench (remove the empty sections 64-bit sections from the 32-bit driver and the empty 32-bit sections from the 64-bit driver). When will manufacturer's learn?
For the OS build, I now include the virtual bus driver (which is tied to the actual PCI device ID) in my SYSPREP.INF file (along with RAID card drivers). This causes that driver layer to be pre-installed for deployment and will be removed if not needed (just like unusued RAID cards). In addition, the Broadcom NIC drivers (that associate with the virtual device ID) are located in a static directory that is referenced in Sysprep's OEMDriverFiles search path. This was done because BDD only includes drivers for devices that it enumerates while under Windows PE (which would exclude the virtual NIC device).
So, with all of that done, my Windows PE deployment is much more streamlined and I can successfully deploy to R900 (and 2950) servers.