Jump to content

SATA drivers and RIS


Recommended Posts

Hello all,

I’m having a problem with RIS and the SATA drives on IBM X60 ‘s and T60’s. I have tried to add the drivers into RIS by doing the following:

Downloading drivers from IBM‘s website and adding them to RemoteInstall > $OEM$ > $1 > TEXTMODE directory. The files are listed below:

iaahci.cat

iaahci.inf

iastor.cat

iastor.inf

iastor.sys

IMSM_PRE.inf

txtsetup.oem

Modifying the .sif template file with the following:

[MassStorageDrivers]

"Intel® 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)" = "OEM"

"Intel® 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)" = "OEM"

"Intel® 82801GBM SATA AHCI Controller (Mobile ICH7M)" = "OEM"

"Intel® 82801FR SATA RAID Controller (Desktop ICH6R)" = "OEM"

"Intel® 82801FR SATA AHCI Controller (Desktop ICH6R)" = "OEM"

"Intel® 82801FBM SATA AHCI Controller (Mobile ICH6M)" = "OEM"

"Intel® 82801ER SATA RAID Controller (Desktop ICH5R)" = "OEM"

"Intel® 6300ESB SATA RAID Controller" = "OEM"

[OEMBootFiles]

iaahci.cat

iaahci.inf

iastor.cat

iastor.inf

iastor.sys

IMSM_PRE.inf

txtsetup.oem

[unattended]

OemPnpDriversPath = TEXTMODE

Using the supplied txtsetup.oem which is:

[Disks]

disk1 = "Intel Matrix Storage Manager driver", iaStor.sys, \

[Defaults]

scsi = iaStor_ICH7DH

;----------- Component Section -----------

[scsi]

iaStor_ICH7DH = "Intel® 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)"

iaAHCI_ICH7R = "Intel® 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)"

iaAHCI_ICH7M = "Intel® 82801GBM SATA AHCI Controller (Mobile ICH7M)"

iaStor_ICH6R = "Intel® 82801FR SATA RAID Controller (Desktop ICH6R)"

iaAHCI_ICH6R = "Intel® 82801FR SATA AHCI Controller (Desktop ICH6R)"

iaAHCI_ICH6M = "Intel® 82801FBM SATA AHCI Controller (Mobile ICH6M)"

iaStor_ICH5R = "Intel® 82801ER SATA RAID Controller (Desktop ICH5R)"

iaStor_ICH5RHR = "Intel® 6300ESB SATA RAID Controller"

;-------------------------------------------

[Files.scsi.iaStor_ICH7DH]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaStor.inf

catalog = disk1, iaStor.cat

[Files.scsi.iaAHCI_ICH7R]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaAHCI.inf

catalog = disk1, iaAHCI.cat

[Files.scsi.iaAHCI_ICH7M]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaAHCI.inf

catalog = disk1, iaAHCI.cat

[Files.scsi.iaStor_ICH6R]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaStor.inf

catalog = disk1, iaStor.cat

[Files.scsi.iaAHCI_ICH6R]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaAHCI.inf

catalog = disk1, iaAHCI.cat

[Files.scsi.iaAHCI_ICH6M]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaAHCI.inf

catalog = disk1, iaAHCI.cat

[Files.scsi.iaStor_ICH5R]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaStor.inf

catalog = disk1, iaStor.cat

[Files.scsi.iaStor_ICH5RHR]

driver = disk1, iaStor.sys, iaStor

inf = disk1, iaStor.inf

catalog = disk1, iaStor.cat

;-------------------------------------------

[Config.iaStor]

value = "", tag, REG_DWORD, 1b

value = "", ErrorControl, REG_DWORD, 1

value = "", Group, REG_SZ, "SCSI miniport"

value = "", Start, REG_DWORD, 0

value = "", Type, REG_DWORD, 1

;-------------------------------------------------------

[HardwareIds.scsi.iaStor_ICH7DH]

id = "PCI\VEN_8086&DEV_27C3&CC_0104","iaStor"

[HardwareIds.scsi.iaAHCI_ICH7R]

id = "PCI\VEN_8086&DEV_27C1&CC_0106","iaStor"

[HardwareIds.scsi.iaAHCI_ICH7M]

id = "PCI\VEN_8086&DEV_27C5&CC_0106","iaStor"

[HardwareIds.scsi.iaStor_ICH6R]

id = "PCI\VEN_8086&DEV_2652&CC_0104","iaStor"

[HardwareIds.scsi.iaAHCI_ICH6R]

id = "PCI\VEN_8086&DEV_2652&CC_0106","iaStor"

[HardwareIds.scsi.iaAHCI_ICH6M]

id = "PCI\VEN_8086&DEV_2653&CC_0106","iaStor"

[HardwareIds.scsi.iaStor_ICH5R]

id = "PCI\VEN_8086&DEV_24DF&CC_0104","iaStor"

[HardwareIds.scsi.iaStor_ICH5RHR]

id = "PCI\VEN_8086&DEV_25B0&CC_0104","iaStor"

However nothing has worked I get a Windows setup error “File txtsetup.oem caused an unexpected error (21) at line 1747 in d:\xpsprtm\base\boot\setup\oemdisk.c. “ and then the install bombs out with “Setup did not find any hard disks installed in your computer” Does anyone have an idea on this as I’m pulling my hair out!

Cheers

Ben

Link to comment
Share on other sites


[unattended]

OemPnpDriversPath = TEXTMODE

You also need

OemPreinstall = Yes

And to tell you the truth, I have never seen the OemPnpDriversPath = TEXTMODE ever before...In fact, you need to also specify a location for the drivers for gui portion...The below is from the Oem Preinstallation Kit...its not related specfically to RIS but to Adding Mass Storage Drivers...Read it CAREFULLY...

Preinstalling Mass-Storage DriversPlug and Play installs most hardware drivers, which you can load later in the Setup process. However, you must properly install mass-storage drivers, such as drivers for hard disk controllers, to make full Plug and Play support available during GUI-mode Setup. For this reason, their installation is handled differently from that of other hardware drivers.

When the [MassStorageDrivers]section is used in Unattend.txt, no in-box mass-storage drivers are installed during text-mode Setup unless you specify them in this section. If this section is missing or empty, Setup attempts to detect the devices on the computer and install the corresponding in-box drivers.

To preinstall mass-storage drivers during text-mode Setup, before full Plug and Play support is available, you must provide a Txtsetup.oem file that describes how Setup must install the particular driver.

For more information about Txtsetup.oem, see the Microsoft Windows Driver Development Kit (DDK), which you can order from the Microsoft DDK Web site (http://www.microsoft.com/ddk/). You can also read the DDK documentation in the MSDN Library (http://msdn.microsoft.com/library/): Select Windows Development, and then select Driver Development Kit.

To preinstall a mass-storage device

In the \$OEM$ subfolder of the configuration set, create the \Textmode subfolder.

Copy the files from the disks supplied by the device vendor to the \Textmode subfolder. These files normally include:

Driver.sys

Driver.dll

Driver.inf

Driver.cat

Txtsetup.oem

where Driver is the driver name.

Notes

You must also copy the driver files to the location that you specified in the OemPnPDriversPath entry in the answer file(s). For example:

OemPnPDriversPath = drivers\storage

Some drivers, such as SCSI miniport drivers, may not include a .dll file.

A catalog file (Driver.cat) must be included with mass-storage device drivers if it is listed in Txtsetup.oem.

For more information about catalog files, see Using Signed Drivers. Also see the Microsoft Windows Driver Development Kit (DDK), which you can read in the MSDN Library (http://msdn.microsoft.com/library/): Select Windows Development, and then select Driver Development Kit.

In the Unattend.txt file, create a [MassStorageDrivers] section, and then type any driver entries in that section. For example, a possible entry in the [MassStorageDrivers] section is:

"Adaptec 2940..." = "OEM"

Obtain the information for this section from the [sCSI] section of the Txtsetup.oem file provided by the hardware manufacturer.

Note

You must use signed drivers. Unsigned drivers are not installed during an unattended installation.

In the Unattend.txt file, create an [OEMBootFiles] section, and in it type a list of the files in the \$OEM$\Textmode folder. For example:

[OEMBootFiles]

Driver.sys

Driver.dll

Driver.inf

Driver.cat

Txtsetup.oem

where Driver is the driver name.

Important

Add driver entries only to the [MassStorageDrivers] and [OEMBootFiles] sections for bootable mass-storage devices. Do not include secondary mass-storage devices. Instead, add the drivers for secondary mass-storage devices to the folder specified by the OemPnPDriversPath entry in your unattended Setup answer file. Including drivers for non-bootable mass-storage devices in the [MassStorageDrivers] or [OEMBootFiles] sections causes an error during Setup.

If your mass-storage device is a Plug and Play device, verify that a Hardware Identification section and the name of the catalog file for the driver (Driver.cat) exist in the Txtsetup.oem file. For more information, see the Microsoft Windows Driver Development Kit in the MSDN Library (http://msdn.microsoft.com/library/): Select Windows Development, and then select Driver Development Kit.

If the Hardware Identification section does not exist, you must add [HardwareIds.scsi.yyyyy] to the Txtsetup.oem file and verify that the following information is included:

id = "xxxxx" , "yyyyy"

where xxxxx represents the device ID, and yyyyy represents the service associated with the device.

For example, to preinstall the Symc810 driver, which has a device ID of PCI\VEN_1000&DEV_0001, verify that your Txtsetup.oem file contains the following additional section:

[HardwareIds.scsi.symc810]

id = "PCI\VEN_1000&DEV_0001","symc810"

You must remove drive and path references from Txtsetup.oem. For example, instead of this text, use the NTFS or FAT32 examples that follow:

[disks]

d1 = "Windows XP Driver Set v1.00", \w2kdsk1, \win2000\smy810\

For NTFS installations, use this text:

[disks]

d1 = "Windows XP Driver Set v1.00", \w2kdsk1, \

Note the trailing slash at the end of the line.

For FAT32 installations, use this text:

[disks]

d1 = "Windows XP Driver Set v1.00", w2kdsk1, .

Note the lack of a backslash; also note the trailing period at the end of the line.

Note

The MSDInst.exe tool enables you to add mass-storage device drivers to an offline image. For details, see the white paper entitled Using the Mass Storage Device Installation Tool (MSDInst.exe) on the Windows OPK CD.

Selecting and Loading the Correct Mass-Storage Driver

If you are including new or updated drivers for mass-storage devices, you must add the new driver to both of these folders:

\$OEM$\Textmode

The location specified in the OemPnPDriversPath entry in the Unattend.txt file.

For example: \$OEM$\$1\Pnpdrvrs\storage

Loading Mass-Storage Drivers During Text-mode Setup

If the driver for the mass-storage device is included with Windows XP, the Windows XP driver is chosen before any drivers in \$OEM$\Textmode.

However, the driver you place in \$OEM$\Textmode is the first driver chosen during text-mode Setup only if:

The driver that ships with Windows XP does not boot.

The driver does not ship with Windows XP.

Loading Mass-Storage Drivers During GUI-Mode Setup

Windows XP loads an updated or new driver during GUI-mode Setup if the following criteria are met.

If you are loading an updated mass-storage device driver for one that ships with Windows XP:

The correct mass-storage driver is provided in the location specified by OemPnPDriversPath.

The driver is signed and is a more recent version than the one provided with Windows XP.

If you are loading a new mass-storage device driver that did not ship with Windows XP:

The driver is new (not included with Windows XP), signed, and installs properly during text-mode Setup.

For information about how Windows chooses the best driver during Plug and Play detection, see How Windows Selects a Particular Device Driver.

For more information about managing operating system images that contain different mass-storage drivers, see Reducing the Number of Master Images for Computers with Different Mass-Storage Controllers.

Note

When you run Sysprep -reseal or Sysprep -factory, Sysprep reads the [sysprepMassStorage] section of the Sysprep.inf file and writes the mass storage information into the registry before shutdown. The next time the computer starts, all mass-storage controllers are available.

Link to comment
Share on other sites

Thank-you for your response.

The OemPreinstall=Yes is already there (I didnt paste the entire .sif onto the post), and I also omitted the rest of the OemPnPDriverPath for the post, but the path entered in there points the textmode directory where the SATA drivers are.

Thank-you for pasting the document, but unfortunately I cant find anything in there that I have not already done.

Any ideas?!

Cheers

Link to comment
Share on other sites

Hi!

This is just a qualified guess (so I am not willing to put life on it): But when using this method, I never got around of booting of a controller that was NOT listed in the [Defaults] section of the txtsetup.oem file. Try changing this to the actual controller that u wanna boot off...

Even if not requested, I recommend u to move into using the TXTSETUP.SIF method of adding controllers cause it is more flexible even though somewhat cryptic.

Good luck to u...

Link to comment
Share on other sites

Cheers for response, but no luck unfortunately. Regardless of what controller is in the "default" section the “File txtsetup.oem caused an unexpected error (21) at line 1747 in d:\xpsprtm\base\boot\setup\oemdisk.c." error always appears

:(

Ben

Link to comment
Share on other sites

There is one thing (even though I dont think it will matter for the functionality)...

Earlier in this entry u listed:

OEMPnPDriversPath = TEXTMODE <-- To point out where to scan for the drivers, right? no need... as long as u have OEMPreinstall set to Yes, this dir will be scanned when using the other entries of the unattend file [MassStorageDrivers] & [OEMBootFiles]. The OEMPnPDriversPath is only used for the drivers that is scanned during Win32 bit mode which is later on. Also, use "" to enclose the driver paths later on... anyway, even if u list the folder from this entry, it will only scan directories below the $1 subfolder so absolutly no need for it within that entry!

U got the TEXTMODE directory placed correctly right? directly below the $OEM$ folder?

See what happens!

Link to comment
Share on other sites

Hey...

I guess, really read the earlier entries carrefully. :blushing:

benowen187

Downloading drivers from IBM‘s website and adding them to RemoteInstall > $OEM$ > $1 > TEXTMODE directory

The directory structure is to be like this:

RemoteInstall > $OEM$ > TEXTMODE

Check out this site for more info!

Edited by Br4tt3
Link to comment
Share on other sites

Thanks for everyone’s help on this, I just wanted to clarify one more point. Since adding the SATA drivers the machines with SATA drives build perfectly, however the other machines all produce a STOP error after the file copy, just as the machine boots to start installing windows. Is this normal behaviour? Do you require another template file for machines that need additional controller drivers? Or has something gone wrong here?

Cheers

Ben

Link to comment
Share on other sites

Thanks for everyone’s help on this, I just wanted to clarify one more point. Since adding the SATA drivers the machines with SATA drives build perfectly, however the other machines all produce a STOP error after the file copy, just as the machine boots to start installing windows. Is this normal behaviour? Do you require another template file for machines that need additional controller drivers? Or has something gone wrong here?

Cheers

Ben

I am not sure but, when I decided for which method to use for adding SCS/SATA/RAID controllers, when using this method, I could get the machine using a specific boot controller working by specifying it in the [MassStorageDrivers] and [OEMBootFiles] sections. However, none of the machines that were NOT using this controller would fail to install... cause of this (and from what I could gather when reading about the TXTSETUP.SIF tactic) I decided not use this tactic as it would force me to have multiple .sif's for deployment.

I say: "One .sif file to rule 'em all, one image to rule 'em all"

Link to comment
Share on other sites

I couldn’t agree more, the thought of having SIF's per machine type is something I don’t what to touch. Is there another way that you know to get the drivers into RIS without using the MassStorage / OEMBootfile method?

Cheers for all your help, its much appreciated!!

Ben

Link to comment
Share on other sites

  • 2 years later...
Important

Add driver entries only to the [MassStorageDrivers] and [OEMBootFiles] sections for bootable mass-storage devices. Do not include secondary mass-storage devices. ... Including drivers for non-bootable mass-storage devices in the [MassStorageDrivers] or [OEMBootFiles] sections causes an error during Setup.

sorry for exhuming this zombie, but i dont find a better place than this quote from benowen187. does this also mean, that using a AHCI-enabled sif-file on a system with an ide-controller, that it will also cause an error during setup? does this mean i have to use one sif-file for older pcs with ide-hdd and one for new pcs with ahci-hdd? cause i modified a working installation so that it works on a new pc type, but now this installation doesnt boot on the old pcs. this is why i added a identical sif file without the [MassStorageDrivers] and [OEMBootFiles] sections and now it works like before...

Edited by ladiko
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...