Thursday 19 February 2009

Dell Latitude E6400 - Unattended Installation SATA Driver

Performing an unattended installation of Windows XP Pro on the Dell Latitude E6400, with the ICH9M-E (aka iastor) Driver.

First off, a (very) brief overview of what I’m doing here. The client machine drive has a Windows boot/system partition created and formatted as FAT32. It’s then booted using a floppy or USB key onto the network, and from here an unattended script is run using WINNT.EXE.

The issue here is that the Dell Latitude E6400 uses a SATA chipset that has several features that can be switched on or off in the BIOS.  Specifically the options are either Disabled, SATA, AHCI, or IRRT.  These settings provide compatibility (SATA), native SATA (AHCI), or options for data protection and/or recovery (IRRT).  A standard unattended installation of XP will complete successfully in SATA mode, however additional drivers are required for AHCI or IRRT (Intel Rapid Restore Technology).

To successfully install the required mass storage driver we need to make some adjustments to the unattend.txt script, and the contents of the distribution share.

Modify your distribution share, specifically adding the $OEM$ subfolder to the i386 source. i.e. where XPPro\i386 is the source folder create the following…
  • XPPro\i386\$OEM$\TEXTMODE
  • XPPro\i386\$OEM$\$1\Drivers\E6400\Intel
In both folders add the driver files, which should be:
  • iaahci.cat
  • iaAHCI.inf
  • iastor.cat
  • iaStor.inf
  • IaStor.sys
  • TXTSETUP.OEM
For XP to pickup the driver a series of mods needs to be made to the UNATTEND.TXT file.

In the [Unattended] section ensure you have the following settings:
OEMPreInstall=Yes
OEMPnPDriversPath=Drivers\E6400\Intel

Create a [MassStorageDrivers] section with the following entry:
"Intel(R) ICH8M-E/ICH9M-E SATA RAID Controller" = "OEM"

Be aware that this must match exactly the specific driver entry in the TXTSETUP.OEM file. Also should this UNATTEND.TXT file be used with machines using a standard IDE interface add the following entry as well:

"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"

Now add an [OEMBootFiles] section, which should list the files contained within the driver:
iaahci.cat
iaAHCI.inf
iastor.cat
iaStor.inf
IaStor.sys
TXTSETUP.OEM

This should result in a successful installation of the Intel driver.

Addendum: TXTSETUP.OEM – To ‘\’ or to ‘.’?

Microsoft Knowledgebase article 288344 instructs you to use a modification to the TXTSETUP.OEM file, removing the ‘\’ in the line:
disk1 = "Intel Matrix Storage Manager driver", iaStor.sys, \
…and replace it with a ‘.’, as in:
disk1 = "Intel Matrix Storage Manager driver", iaStor.sys, .
…when using FAT or FAT32, as indeed I am.

However I have found this not to be necessary with this driver. Making this change resulted in the following error:
File \$WIN_NT$.~BT\$OEM$\.\iaStor.sys could not be loaded.

References:
How to create an unattended installation of third-party mass storage drivers in Windows 2000
http://support.microsoft.com/kb/288344/en-us

Dell Intel Matrix Driver
ftp://ftp.us.dell.com/SATA/Intel_Matrix-Storage-Manager_A05_R207268.exe