Prerequisitesoscdimg – CD/DVD premastering utility available as part of the Windows Assessment and Deployment Kit (Windows ADK). I used the version here: http://www.microsoft.com/en-us/download/details.aspx?id=39982 When running the adksetup.exe program, hit Next until the “Select the features you want to install” screen appears and then select only the “Deployment Tools” option. Cisco UCS Drivers – These must be downloaded from Cisco with a valid account. They are located at Downloads Home -> Products Servers – Unified Computing -> UCS B-Series Blade Server Software -> Unified Computing System (UCS) Drivers I pulled down ucs-bxxx-drivers.2.2.3f.iso for this example. Windows ISO – Should go without saying that you need the Windows ISO for the build you are working with. I’m using Windows 2012 R2 Datacenter in this example en_windows_server_2012_r2_with_update_x64_dvd_4065220.iso Folder Structure – Here is what my folder structure looks like for the examples to follow. Extract the files as shown below: UCS Drivers (ucs-bxxx-drivers.2.2.3f.iso) -> drivers Windows ISO (en_windows_server_2012_r2_with_update_x64_dvd_4065220.iso) -> ISO The ‘mount’ folder will house the boot.wim and install.wim images while we add the drivers.
Step 1 – Create Boot VolumesUsing the SolidFire PowerShell module I created the five boot volumes that would hold my Windows installs. The PowerShell module is now in beta and Josh Atwell (@Josh_Atwell) has information on how SolidFire customers can get it here: http://www.vtesseract.com/post/125260508548/introducing-the-solidfire-tools-for-powershell
Step 2 – Create Slipstream ISO w/Cisco UCS DriversThe Windows 2012 R2 install media doesn’t contain the drivers required for a boot from SAN configuration. To get the drivers into the install media two files that need to be updated, boot.wim and install.wim. Assuming you have all the files listed in the prerequisite section above in the folder “c:\temp” open up a PowerShell prompt and the series of steps is as follows:
Select the index value for the version of Windows you want to slipstream the drivers into. In my case, its Index 4 – Windows Server 2012 R2 ServerDataCenter
Get-WindowsImage -ImagePath .\ISO\sources\install.wim
Now add the drivers to the install.wim file (which will take some time) and then dismount the install.wim image:
Mount-WindowsImage -Path .\Mount -ImagePath .\ISO\sources\install.wim -Index 4
Now repeat the process for both the index entries for the boot.wim file.
Add-WindowsDriver -Path .\Mount -Driver .\Drivers -Recurse -ForceUnsigned Dismount-WindowsImage -Path .\Mount -Save
Get-WindowsImage -ImagePath .\ISO\sources\boot.wimMount-WindowsImage -Path .\Mount -ImagePath .\ISO\sources\boot.wim -Index 1Add-WindowsDriver -Path .\Mount -Driver .\Drivers -Recurse -ForceUnsignedDismount-WindowsImage -Path .\Mount -SaveMount-WindowsImage -Path .\Mount -ImagePath .\ISO\sources\boot.wim -Index 2Add-WindowsDriver -Path .\Mount -Driver .\Drivers -Recurse -ForceUnsignedDismount-WindowsImage -Path .\Mount -Save
oscdimg.exe -n -m –b<path_of_bootable_img_file> <path_of_installation_source> <path_with_filename_is_to_be_created>
-m is used to enable a file > 700MB -n to allow for long file names (longer than DOS 8.3 file name limit) -b is used to locate boot image
For example: oscdimg.exe -n -m -bC:\temp\ISO\boot\etfsboot.com C:\temp\ISO C:\temp\Win2012R2-Cisco.iso