Jump to content

HOWTO integrate raid drivers into txtsetup.sif


Recommended Posts

I tried to get this done for three or four weeks, found many guides but none really worked. This is why i was writing this howto.

It explains how to integrate raid drivers into the txtsetup.sif so you don't have to use a Textmode setup where you cannot use the recovery console or install new raid drivers using the F6 Floppy option.

You even don't need to create an unattended setup. These steps will create a "original" setup but with drivers for your raid controller. this means no winnt.sif is needed or $OEM$ directories are required!

1. What you need!

a) original Microsoft Windows XP Setup-CD

b) bbie (http://www.nu2.nu/download.php?sFile=bbie10.zip)

c) working driver for your raid controller. in this howto im using the nvidia nforce raid driver 6.99

d) CD burning application (i recommend Nero 6)

e) the target system (where the raid controller is in) has to work, you'll need some information!

2. How to begin?

a) download and extract bbie to c:\XPCD\bbie\.

b) get the original setup cd for XP Professional or Home and insert it into your cd drive.

c) open a command line (start > run > cmd) and change directory to c:\XPCD\bbie. run bbie.exe X: (instead of X:, enter the driver letter of the drive in which the original setup cd is, often D:)

d) move image1.bin to c:\XPCD\ and rename it to boot.bin

e) now edit the settings of windows explorer so all hidden and system files can be seen!

f) copy the whole content of the original setup cd to c:\XPCD\content\. Do not use an unattended or recovery cd as source!

g) in C:\XPCD\content\ remove the directories 'DOCS', 'DOTNETFX', 'SUPPORT' and 'VALUEADD'

h) in C:\XPCD\content\I386\ remove the directories 'WIN9XMIG', 'WIN9XUPG' and 'WINNTUPG'.

3. Getting the driver (if you already have the latest stable drivers for your device, continue with step 4.)

a) you should check for latest drivers for your raid controller now. Before you integrate, copy the driver on a floppy and start the setup with the original setup cd. press F6 nearly at the beginning of the setup (blue background), insert the floppy and select the devices you need.

If the drivers are working, use them. If not, get older / newer versions and check google if there are known problems with the drivers for a specific device (eg. nVIDIA nForce4 intel chipsets). If you want to install the nVIDIA RAID on a system with nVIDIA nForce 4 Intel Edition chipset, use the driver1.zip attached to this post and driver2.zip attached to the next post. these are the latest stable and working drivers for that chipset!

b) after you've chosen the best driver, download and extract it to c:\XPCD\content\$OEM$\$1\ and change into that directory.

4. Preparing the driver

a) if there are more than one inf files included in the driver package you have to try which file you need.

I. open the device manager, double-click on the device you are preparing the drivers for and change to the "Details" tab.

II. write down the Hardware-ID (which looks like PCI\VEN_1106&DEV_0571).

III. open directory c:\XPCD\content\$OEM$\$1\

IV. open the first inf file, press f3 (search) and input the Hardware-ID you got in step 4.II., but we only need VEN_1106 and DEV_0571, you can forget everything after DEV_0571. Your Hardware-ID is different but format is the same, eg. PCI\VEN_1106&DEV_0571.

before you press Enter, copy the whole Hardware-ID. You have to search some more files, copy&paste at its best :)

V. repeat step 4.IV. until you find a match. if you found a match, close the file and continue with step 4.VI.

b) if there is only one inf file or if you know which files you need, start here

VI. copy the inf file of your driver (or the one you found in step 4.V.) into the directory drivertest on your Desktop.

VII. open the inf file you saved in Desktop\driverkey and look for filenames in it. write down all filenames you find in a new txtfile and save it to Desktop\driverkey as drivernames.txt. also copy all files from c:\XPCD\content\$OEM$\$1\ to Desktop\driverkey\ which filenames matches the ones you found.

IIX. remove the directory c:\XPCD\content\$OEM$\ and move everything of Desktop\driverkey\ into c:\XPCD\content\I386\.

5. editing the files

a) TXTSETUP.SIF

I. open c:\XPCD\content\I386\TXTSETUP.SIF and search for [WinntDirectories].

II. jump to the end of the line and press enter. now input 300 = nvidia\raid. instead if nvidia you could use intel or adaptec, etc. the path specified here will be created in %SYSTEMROOT% (normally c:\WINDOWS).

[WinntDirectories]
300 = nvidia\raid

1 = "\"
2 = system32
3 = system32\config
...
...

III. search for [sourceDisksFiles], jump to the end and press enter. now input all the files you need. generally you only need inf, cat, sys and dll files. Example shows files needed for nVIDIA nForce4 SLI Intel Edition RAID controller.

[SourceDisksFiles]
idecoi.dll = 1,,,,,,,300,0,0
nvata.cat = 1,,,,,,,300,0,0
nvatabus.inf = 1,,,,,,,300,0,0
nvatabus.sys = 1,,,,,,,300,0,0
nvatabus.sys = 100,,,,,,,4,0,0,,1,4
nvcoi.dll = 1,,,,,,,300,0,0
nvraid.cat = 1,,,,,,,300,0,0
nvraid.inf = 1,,,,,,,300,0,0
nvraid.sys = 1,,,,,,,300,0,0
nvraid.sys = 100,,,,,,,4,0,0,,1,4
nvraidco.dll = 1,,,,,,,300,0,0


bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
c_1252.nls = 1,,,,,,3_,2,0,0,,1,2
...
...

note that you have to list the sys files twice. one copy goes into %SYSTEMROOT%\system32\drivers and the other copy into %SYSTEMROOT%\nvidia\raid where all the other driver files get copied to!

IV. search for [HardwareIdsDatabase], jump to the end and press enter. now input the Hardware-IDs the driver is supporting (you can find the HIDs in the txtsetup.oem of your driver in the sections [HardwareIds.scsi.*] or in the inf files.

[HardwareIdsDatabase]
PCI\VEN_10DE&DEV_008E = "nvatabus"
PCI\VEN_10DE&DEV_00D5 = "nvatabus"
PCI\VEN_10DE&DEV_00EE = "nvatabus"
PCI\VEN_10DE&DEV_00E3 = "nvatabus"
PCI\VEN_10DE&DEV_0036 = "nvatabus"
PCI\VEN_10DE&DEV_003E = "nvatabus"
PCI\VEN_10DE&DEV_0054 = "nvatabus"
PCI\VEN_10DE&DEV_0055 = "nvatabus"
PCI\VEN_10DE&DEV_0266 = "nvatabus"
PCI\VEN_10DE&DEV_0267 = "nvatabus"
PCI\VEN_10DE&DEV_036F = "nvatabus"
PCI\VEN_10DE&DEV_037E = "nvatabus"
PCI\VEN_10DE&DEV_037F = "nvatabus"
PCI\VEN_10DE&DEV_03F6 = "nvatabus"
PCI\VEN_10DE&DEV_03F7 = "nvatabus"
PCI\VEN_10DE&DEV_03E7 = "nvatabus"
GenNvRaidDisk = "nvraid"
*_NVRAIDBUS = "nvraid"
*NVRAIDBUS = "nvraid"

1394\609E&10483 = "sbp2port"
GenDisk = "Disk",{4D36E967-E325-11CE-BFC1-08002BE10318}
GenOptical = "Disk"
...
...

V. search for [sCSI.Load] but now scroll down a bit and input which device which drivers uses at the end of the [sCSI.Load] section!

[SCSI.Load]
...
...
cbidf2k = cbidf2k.sys,4
dac2w2k = dac2w2k.sys,4

nvatabus = nvatabus.sys,4
nvraid = nvraid.sys,4

[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
...
...

VI. search for [sCSI], jump to the end and press enter. now input the description for each device, you can use any description you want.

[SCSI]
nvraid = "nVIDIA nForce RAID Controller"
nvatabus = "nVIDIA nForce Serial ATA Controller"

sparrow = "Adaptec AHA-151X/AHA-152X/AIC-6X60 SCSI-Adapter"
aha154x = "Adaptec AHA-154X/AHA-164X SCSI-Hostadapter"
aic78xx = "Adaptec AHA-294X/AHA-394X/AIC-78XX SCSI-Controller"
...
...

VII. save and close the file

b) DOSNET.INF

I. open c:\XPCD\content\I386\DOSNET.INF and search for [Files].

II. select the end of the found text and press enter. now input the source diskid and the filename.

[Files]
d1,nvatabus.sys
d1,nvraid.sys

d5,I386\iepeers.dll
d5,I386\mshtml.dll
d5,I386\spru0407.dll
...
...

III. save and close the file

c) HIVESFT.INF

I. open c:\XPCD\content\I386\HIVESFT.INF and search for %SYSTEMROOT%\inf. the line should be

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf"

II. add the custom driver path to this setting. this is the same path we used in 5.a.II. (%SYSTEMROOT%\nvidia\raid\). the line should look like

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SYSTEMROOT%\inf;%SYSTEMROOT%\nvidia\raid"

III. save and close the file

6. Burning the CD

a) burn the content of c:\XPCD\content\ how many other guides already explained ;)

driver1.zip

Edited by an3k
Link to comment
Share on other sites


  • 4 weeks later...

Hi!

I did what you adviced, and the installer does not find the sys file, and the setup process halts.

I put all driver files into the i386 directory, as you suggested, did not work. Then I did a makecab on the sys file, and added the resulting .sy_ file to the i386 directory. Then I removed the original files (.cat, .inf., .sys) and did a makecab on all of them (separately) and put all the resulting 5 files (with extensions (.ca_, .in_, .sy_) but it did not help. The 5 files are:

iaahci.cat

iaahci.inf

iastor.cat

iastor.inf

iastor.sys

I attached the txtsetup.oem file (as txtsetup.txt, since the uploader did not let me to upload the .oem file).

Here is what I added to the dosnet.inf: (to the appropriate place)

[Files]

d1,iastor.sys

Here is what I added to hivesft.inf: (To the appropriate place)

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf;%SystemRoot%\intel\sata"

Here is what I added to txtsetup.sif: (to the appropriate places)

[WinntDirectories]

300 = intel\sata

[sourceDisksFiles]

iaahci.cat = 1,,,,,,,300,0,0

iaahci.inf = 1,,,,,,,300,0,0

iastor.cat = 1,,,,,,,300,0,0

iastor.inf = 1,,,,,,,300,0,0

iastor.sys = 1,,,,,,,300,0,0

iastor.sys = 100,,,,,,,4,0,0,,1,4

[HardwareIdsdatabase]

PCI\VEN_8086&DEV_2922&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_282A&CC_0104 = "iaStor"

PCI\VEN_8086&DEV_2829&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_2822&CC_0104 = "iaStor"

PCI\VEN_8086&DEV_2821&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_2682&CC_0104 = "iaStor"

PCI\VEN_8086&DEV_2681&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_27C3&CC_0104 = "iaStor"

PCI\VEN_8086&DEV_27C6&CC_0104 = "iaStor"

PCI\VEN_8086&DEV_27C1&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_2653&CC_0106 = "iaStor"

[sCSI.Load]

...

...

iaStor = iastor.sys,4

[sCSI]

iaStor = "Intel® 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)"

My windows source is a hungarian original sp2 disc, I integrated the sp3 and some other hotfixes with the /integrate switch. Then I did the modifications mentioned in this thread.

Can anyone help me what I did wrong? I do not want to create an unattended disc, I still want to have the F6 option at the beginning, but I do not have a floppy drive.

Thanks for any help.

ghorvath

Txtsetup.txt

Link to comment
Share on other sites

Ok, I figured it out finally. The error is (of couse) pretty ridicolous....

When windows is in text mode, then it is case sensitive about the filenames.... So every filename hase to be UPPERCASED, otherwise the textmode installer will not find it.

Thank you for the guide, if I encounter any other problems, I will post it.

ghorvath

Link to comment
Share on other sites

case-sensitive is correct but the files don't have to be UPPERCASE! You just have to specifiy the exact filename in the TXTSETUP.SIF / DOSNET.inf

Thats why im always using lowercase :)

Edited by an3k
Link to comment
Share on other sites

In the file I used only lowercase (at least iastor.sys was lowercased everywhere), and the filenames were lowercased as well. It did not work. When I changed the filenames to all uppercased it worked. That is all I know. :)

Anyhow, it works for me now, so thanks for the help.

ghorvath

Link to comment
Share on other sites

  • 1 year later...

Since the last edit of my post i've optimized this way and i'll post a new topic with better instructions soon! I'll add the link to the new post here.

Link to comment
Share on other sites

  • 3 months later...

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...