Tuesday, May 12, 2009

ZT: how to add OEM SATA driver

Here is a quick but hopefully useful guide for adding mass storage device drivers to Windows XP SP2 and Windows PE 2005.

This guide explains how to add the Intel SATA driver (very common) to scripted install, sysprepped images and Windows PE 2005.

Download the IntelSATA drivers (Intel Matrix Storage Manager) from www.intel.com and extract them to a temporary folder, C:\Drivers\IntelSATA in this example

The content of the C:\Drivers\IntelSATA folder should have the following files

iaahci.cat

iaahci.inf

iastor.cat

iastor.inf

iastor.sys

txtsetup.oem

Adding mass storage drivers to Windows XP unattended setup (scripted, via unattend.txt)

On the distribution share, containing the Windows XP SP2 setup files , create a folder structure like \i386\$OEM$\TEXTMODE, copy the C:\Drivers\IntelSATA content to this folder.

On the distribution share, containing the Windows XP SP2 setup files , create a folder structure like \i386\$OEM$\$1\Drivers\IntelSATA, copy the C:\Drivers\IntelSATA content to this folder.

Modify the unattend.txt file to look like this

[MassStorageDrivers]

"Intel(R) 82801HR/HH/HO SATA RAID Controller (Desktop ICH8R)" = OEM
"Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop ICH8R)" = OEM
"Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)" = OEM
"Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)" = OEM
"Intel(R) 82801GHM SATA RAID Controller (Mobile ICH7MDH)" = OEM
"Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)" = OEM
"Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)" = OEM
"Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)" = OEM
"Intel(R) 82801FR SATA RAID Controller (Desktop ICH6R)" = OEM
"Intel(R) 82801FR SATA AHCI Controller (Desktop ICH6R)" = OEM
"Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)" = OEM
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "Retail"

[OEMBootFiles]

iaStor.inf
iaahci.inf
iaStor.cat
iaahci.cat
iaStor.sys
Txtsetup.oem

[Unattended]

OemPreinstall = Yes

OemPnPDriversPath = "Drivers\IntelSATA”

DriverSigningPolicy = Ignore

Note: the IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "Retail is important for standard IDE failback

Adding mass storage drivers to Windows XP for sysprep (imaging)

Modify sysprep.inf to look like this . Since we manually update sysprep.inf, do not add BuildMassStorageSection = Yes to the [Sysprep] section

[Sysprep]

[SysprepMassStorage]

; Added for Intel SATA Controller Support

PCI\VEN_8086&DEV_2652&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2653&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_27C1&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_27C5&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2681&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2821&CC_0106=C:\Drivers\IntelSATA\iaahci.inf

PCI\VEN_8086&DEV_2652&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_27C3&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_2682&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_27C6&CC_0104=C:\Drivers\IntelSATA\iastor.inf

PCI\VEN_8086&DEV_2822&CC_0104=C:\Drivers\IntelSATA\iastor.inf

; End of drivers added for Intel SATA Controller Support

;

; Generic drivers

Adding mass storage drivers to Windows PE 2005

Method 1 (via winpeom.sif), requires one folder per controller and updating of each txtsetup.oem even if the drivers supports many controllers

In this example we add support for the PCI\VEN_8086&DEV_2652&CC_0104 and PCI\VEN_8086&DEV_27C3&CC_0104 controllers

Note: Both using the same driver

Create a folder structure like \i386\system32\Drivers\DiskDrivers\IntelSATA_2652

Create a folder structure like \i386\system32\Drivers\DiskDrivers\IntelSATA_27C3

Copy the content of the c:\tmp\IntelSATA folder to both directories (yes duplicate)

In the \i386\system32\Drivers\DiskDrivers\IntelSATA_2652 folder modify the [defaults] section of txtsetup.oem to match the driver

In the \i386\system32\Drivers\DiskDrivers\IntelSATA_2652 folder modify the [defaults] section of txtsetup.oem to match the driver

Method 2 (via txtsetup.sif), make the driver support all it’s controllers without modifications…

Extract the WinPE 2005 iso or compile a custom WinPE 2005 image

Copy the iastor.sys file from c:\tmp\IntelSATA to \i386\system32\drivers

Modify the \i386\txtsetup.sif folder

In the [SCSI.LOAD] section add

Iastor = iastor.sys,4

In the [HardwareIdsDatabase] section, add

PCI\VEN_8086&DEV_2652&CC_0106 = iastor

PCI\VEN_8086&DEV_2653&CC_0106 = iastor

PCI\VEN_8086&DEV_27C1&CC_0106 = iastor

PCI\VEN_8086&DEV_27C5&CC_0106 = iastor

PCI\VEN_8086&DEV_2681&CC_0106 = iastor

PCI\VEN_8086&DEV_2821&CC_0106 = iastor

PCI\VEN_8086&DEV_2652&CC_0104 = iastor

PCI\VEN_8086&DEV_27C3&CC_0104 = iastor

PCI\VEN_8086&DEV_2682&CC_0104 = iastor

PCI\VEN_8086&DEV_27C6&CC_0104 = iastor

PCI\VEN_8086&DEV_2822&CC_0104 = iastor


No comments:

Post a Comment