I have written a utility called RASOR that is able to slipstream drivers with this method. It can be found: HERE.
UPDATE: 10/15/2004
- Guide updated to reflect new research from members, especially rcordorica
- Known working list added
- Previous update notices removed
- 3ware 7k/8k Driver
- Silicon Image 3112r Driver
First, if there has already been a big post on this then I'm sorry for making another one. Second, I tend to have *very* verbose posts, so I will try to keep this short.
Disclaimer: I only claim that this will work for my hardware setup but I am posting this in the hopes that someone else can get theirs to work as well. I will try to help where I can, but I'm no expert.
INTRO
I have a complete (for all intents and purposes) XP PRO slipstream via XPCREATE *with* 3ware Raid 7k/8k drivers installed via the $OEM$\TEXTMODE Method; aka Method 2. From here on I'm calling this M2 because I'm tired of typing it out so much. I have tried the txtsetup aka Raskren's aka GM's aka RyanVM aka M1 method but was never able to get the 3ware drivers to load properly with that. It doesn't seem like too many people are running 3ware Raid cards, but if you are then *this* IS the method you should use. This should not be confused with the similar but more complex method outlined by Pure Krome (which I have not tried, but I do believe works) as listed here.
SETUP
I am using a XPCD slipstreamed with SP2, WMP10, Journal Viewer, .NET framework w/ SP1
THE PART YOU CARE ABOUT: EDITING DRIVER FILES
So how do you use M2 to get your raid drivers on the CD? There have been a lot of posts about this as well as the somewhat erroneous information provided in deploy.chm (part of the MS SP1/SP2 deployment pack). I will assume you have your driver files (the equivalent of a floppy driver disk). A driver file-list *might* look like this (where driver is some relevant driver name):
- txtsetup.oem (this file sets the driver up for textmode)
- driver.inf (may also be named something like oeminstall.inf)
- driver.sys (1+ driver files)
- driver.cat (WHQL signing)
- driver.cpl (control panel file)
- driver.dll/.exe/.vxd (other libraries/executables for your driver)
- disk1 (a weird disk file may or may not be included; possibly plaintext)
- readme (of some sort)
THE PART YOU CARE ABOUT: COPYING DRIVER FILES
Now you are ready to copy the driver files to the proper locations. You *can* strip the disk1 type files and the readme however I usually copy them for good measure. I also do not compress any of the sys files, although you *probably* could. So I choose to copy ALL of the driver files to these 2 directories:
- $OEM$\TEXTMODE\
- I386\$OEM$\
- $OEM$\$$\OemDir\
Now 2 things need to be added to winnt.sif (if you don't know what that is, you really shouldn't have gotten this far in the post).
- A new [MassStorageDrivers] heading with 2+ entries (New Controller & CD-ROM Driver)
- A new heading [OEMBootFiles] which will list all of the files from the new driver
CODE
;SetupMgrTag
[Data]
MsDosInitiated="0"
UnattendedInstall="Yes"
[Unattended]
DriverSigningPolicy=Ignore
Repartition=Yes
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=Yes
UnattendSwitch="Yes"
WaitForReboot="No"
TargetPath=\WINDOWS
[GuiUnattended]
AdminPassword=XXXXX
EncryptedAdminPassword=Yes
OEMSkipRegional=1
TimeZone=4
OemSkipWelcome=1
[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName="Trainee"
OrgName="Thunderwalker"
ComputerName=XXXXX
[Identification]
JoinWorkgroup=XXXXX
[Networking]
InstallDefaultComponents=Yes
[MassStorageDrivers]
"3ware Escalade 7000/8000 Series ATA RAID Controller" = "OEM"
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"
[OEMBootFiles]
TXTSETUP.OEM
oemsetup.inf
3waregsm.cat
3WDRV100.SYS
3WFLTDRV.SYS
[Data]
MsDosInitiated="0"
UnattendedInstall="Yes"
[Unattended]
DriverSigningPolicy=Ignore
Repartition=Yes
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=Yes
UnattendSwitch="Yes"
WaitForReboot="No"
TargetPath=\WINDOWS
[GuiUnattended]
AdminPassword=XXXXX
EncryptedAdminPassword=Yes
OEMSkipRegional=1
TimeZone=4
OemSkipWelcome=1
[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName="Trainee"
OrgName="Thunderwalker"
ComputerName=XXXXX
[Identification]
JoinWorkgroup=XXXXX
[Networking]
InstallDefaultComponents=Yes
[MassStorageDrivers]
"3ware Escalade 7000/8000 Series ATA RAID Controller" = "OEM"
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL"
[OEMBootFiles]
TXTSETUP.OEM
oemsetup.inf
3waregsm.cat
3WDRV100.SYS
3WFLTDRV.SYS
For the [MassStorageDrivers] entry I have been told that the listing must *exactly* match the description in txtsetup.oem. I have not confirmed this but I opened up txtsetup.oem and copied the description out of it, it should be very easy to find under the [SCSI] heading. I am 99% sure you must also list the IDE controller for your CD drive. If you don't, I don't believe that the setup can continue after the first reboot. I do not know if order matters, however I chose to list my RAID controller first followed by my IDE cd-rom controller. Anyone who has an IDE cd/dvd drive can pretty much just copy my line. The new controller should be listed as "OEM" as in look around in OEM to find the drivers. Any other controller (like the cd-rom) that use already built-in drivers should be listed as "RETAIL" as in included with the retail cd.
Now the [OEMBootFiles] listings are basically the files from your driver disk. I do not know if order is important, but I chose to list the txtsetup.oem first, followed by any .inf, .cat, .sys and so on. I do not list the readme, or the crazy Disk1 type files.
COMMON MISTAKES/MISCONCEPTIONS
- A number of posts list the TEXTMODE directory incorrectly as TXTMODE
- Deploy.chm states that if a txtsetup.oem file does not contain the HardwareID (as listed in the .inf) that it must be added. I know for a fact that this is WRONG. I screwed up my own install many times trying to add this to my txtsetup.oem. The 3ware txtsetup.oem does not have the hardwareID and installs perfectly.
- Make sure to list both your new controller AND your cd-rom controller under [MassStorageDrivers]
- There have been claims that ntfs won't read the /'s and all /'s must be changed to .'s and visa versa. IMHO: WTF.
- In most cases you shouldn't have to alter any of the driver files including txtsetup.oem (see next point).
- If your txtsetup.oem file contains "DLL =" entries (without the quotes), you will need to change them to "INF =" to get around a textmode parsing error (thanks rcordorica).
While this post is very long, I think you will agree that this is a fairly simple method to add drivers to your slipstreamed XP CD *IF* it works. Right now the only drivers known to work are the 3ware 7k/8k drivers and the Silicon Image 3112Raid driver. Unfortunately I don't have the hardware to test any other drivers right now. If you have any questions please ask them here, or PM me and I will do my best to answer them.
ERRATA
I'm including links to the 3ware txtsetup.oem and oemsetup.inf for reference, however neither of these files were altered (note that these were changed to .txt files so they aren't a pain to open).

