txtsetup.sif section names and format reference

  • Thread starter Thread starter Ben Humpert
  • Start date Start date
B

Ben Humpert

Hello,

i was playing with an unattended installtion last days, everything works
except including the driver for a bootable mass storage device. source is a
original windows xp professional sp2. ($OEM$\Textmode)

I found a DELL "Recovery"-CD which is also a XP professional sp2 cd with
integrated drivers for a mass storage device, but those are included
directly in the txtsetup.sif, so no $OEM$ directory is present. This CD
works but has much more files i don't want/need, thus i want to do it the
same way but for that i need more information about the txtsetup.sif format,
especially about the SourceDisksFiles section format, e.g. filename.ext =
1,,,,,,3_,2,0,0,,1,2

Didn't found any on MSDN Library, Knowledge Base or TechNet. Hope someone
can help!

Thanks!


Regards


Ben Humpert
 
Ben said:
i was playing with an unattended installtion last days, everything works
except including the driver for a bootable mass storage device. source is a
original windows xp professional sp2. ($OEM$\Textmode)

I found a DELL "Recovery"-CD which is also a XP professional sp2 cd with
integrated drivers for a mass storage device, but those are included directly
in the txtsetup.sif, so no $OEM$ directory is present. This CD works but has
much more files i don't want/need, thus i want to do it the same way but for
that i need more information about the txtsetup.sif format, especially about
the SourceDisksFiles section format, e.g. filename.ext = 1,,,,,,3_,2,0,0,,1,2

For my RIS server images to support SATA disks, I have appended the
lines below (between the dashed lines) to the txtsetup.sif and included
the driver .inf/.sys-files in the i386-folder and all the driver files
in the $OEM$-folder.
This works with Dell D830 as well as Compaq nc8430 in AHCI mode.


/klaus



-------appended to txtsetup.inf-------------------------------
[SourceDisksFiles]
iastor.sys= 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat=1,,,,,,,20,0,0
iaAHCI.inf=1,,,,,,,20,0,0
iaSTOR.cat=1,,,,,,,20,0,0
iaSTOR.inf=1,,,,,,,20,0,0
[HardwareIdsDatabase]
PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2652&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2652&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2653&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_24DF&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_25B0&CC_0104 = "iaStor"
[SCSI.Load]
iaStor = iaStor.sys,4
[SCSI]
iaStor = "Intel(R) 82801 SATA RAID/AHCI Controller (ICH5,6,7)"
--------------------------------------------------------------
 
It sounds like you're really close and this might cover thingy you already
know but I've already written it up for a client so it's a handy complete
process.

Including SATA & RAID Drivers
Windows XP doesn't have native support for RAID or SATA mass storage devices
therefore, these device drivers must be integrated when the reference PC is
SysPreped and must be captured as a part of the base image. After applying
the WIM image in WinPE, the deployment process reboots to the hard drive, so
the drivers must already be present which is why they cannot be added during
the deployment process. The first part of the configuration process is the
obtaining of the mass storage drivers, they should be downloaded from the
hardware vendor.

Gather the Plug and Play ID's
Once the drivers have been downloaded the Plug and Play (PnP) ID's must be
identified and the INF file that matches each PnP ID. The downloaded drivers
include one or more INF files, these INF files include the PnP ID's that it
supports.
The Intel driver, for example, is comprised of two INF files, IAAHCI.INF and
IASTOR.INF. The lines in these files that identify the PnP ID's are listed
below.

IAAHCI.INF
[ControlFlags]
ExcludeFromSelect=PCI\VEN_8086&DEV_2652&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2653&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C1&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C5&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2681&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2821&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2829&CC_0106

IASTOR.INF
[ControlFlags]
ExcludeFromSelect=PCI\VEN_8086&DEV_282A&CC_0104
ExcludeFromSelect=PCI\VEN_8086&DEV_2822&CC_0104
ExcludeFromSelect=PCI\VEN_8086&DEV_27C6&CC_0104
ExcludeFromSelect=PCI\VEN_8086&DEV_2682&CC_0104
ExcludeFromSelect=PCI\VEN_8086&DEV_27C3&CC_0104
ExcludeFromSelect=PCI\VEN_8086&DEV_2652&CC_0104

Copy the driver files
To automatically integrate the driver files into Windows XP a folder
structure must be created to support the added files. These folders will
then be referenced by the sysprep.inf file.
1. Create the folder structure,
...\Distribution\Control\<BUILDID>\$OEM$\$1\Drivers\IntelSATA
<BUILDID> should be the Build ID of the build that is used to create your
image.
2. Copy the driver files previously downloaded into the newly created IASTOR
folder. If you already use the $OEM$ functionality then simply add the files
into the current folder structure.

Update the sysprep.inf file
Now that the downloaded the drivers, created the supporting folder structure
and identified the PnP ID's for the mass storage driver we must update the
sysprep.inf file used to create the master image.
To update the sysprep.inf file
1. Open the ..\Distribution\Control\<BUILDID>\sysprep.inf file using
Notepad.
<BUILDID> should be updated to be the Build ID of the build that is used to
create your image.
2. Update the BuildMassStorageSection entry in the [Sysprep] section
to equal YES.
3. Update the [SysprepMassStorage] section to specify each PnP ID and
it's corresponding INF file. This will require translating the information
gathered from the INF files into the sysprep.inf format.
Example: the ExcludeFromSelect=PCI\VEN_8086&DEV_282A&CC_0104 gathered from
the IASTOR.INF file would translate to
PCI\VEN_8086&DEV_282A&CC_0104="C:\DRIVERS\IntelSATA\IASTOR.INF".

The following excerpt provides an example of the updated sysprep.inf file.
[Sysprep]
BuildMassStorageSection = YES
[SysprepMassStorage]
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_2829&CC_0106="C:\DRIVERS\INTELSATA\IAAHCI.INF"
PCI\VEN_8086&DEV_282A&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"
PCI\VEN_8086&DEV_2822&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"
PCI\VEN_8086&DEV_27C6&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"
PCI\VEN_8086&DEV_2682&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"
PCI\VEN_8086&DEV_27C3&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"
PCI\VEN_8086&DEV_2652&CC_0104="C:\DRIVERS\INTELSATA\IASTOR.INF"


--
Erik Chapple
EMC Microsoft Practice
Denver, CO


Klaus Jorgensen said:
Ben said:
i was playing with an unattended installtion last days, everything works
except including the driver for a bootable mass storage device. source is
a original windows xp professional sp2. ($OEM$\Textmode)

I found a DELL "Recovery"-CD which is also a XP professional sp2 cd with
integrated drivers for a mass storage device, but those are included
directly in the txtsetup.sif, so no $OEM$ directory is present. This CD
works but has much more files i don't want/need, thus i want to do it the
same way but for that i need more information about the txtsetup.sif
format, especially about the SourceDisksFiles section format, e.g.
filename.ext = 1,,,,,,3_,2,0,0,,1,2

For my RIS server images to support SATA disks, I have appended the lines
below (between the dashed lines) to the txtsetup.sif and included the
driver .inf/.sys-files in the i386-folder and all the driver files in the
$OEM$-folder.
This works with Dell D830 as well as Compaq nc8430 in AHCI mode.


/klaus



-------appended to txtsetup.inf-------------------------------
[SourceDisksFiles]
iastor.sys= 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat=1,,,,,,,20,0,0
iaAHCI.inf=1,,,,,,,20,0,0
iaSTOR.cat=1,,,,,,,20,0,0
iaSTOR.inf=1,,,,,,,20,0,0
[HardwareIdsDatabase]
PCI\VEN_8086&DEV_27C5&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2652&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_2652&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_2653&CC_0106 = "iaStor"
PCI\VEN_8086&DEV_24DF&CC_0104 = "iaStor"
PCI\VEN_8086&DEV_25B0&CC_0104 = "iaStor"
[SCSI.Load]
iaStor = iaStor.sys,4
[SCSI]
iaStor = "Intel(R) 82801 SATA RAID/AHCI Controller (ICH5,6,7)"
 
For my RIS server images to support SATA disks, I have appended the
lines below (between the dashed lines) to the txtsetup.sif and included
the driver .inf/.sys-files in the i386-folder and all the driver files
in the $OEM$-folder.
This works with Dell D830 as well as Compaq nc8430 in AHCI mode.


/klaus



-------appended to txtsetup.inf-------------------------------
[SourceDisksFiles]
iastor.sys= 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat=1,,,,,,,20,0,0
iaAHCI.inf=1,,,,,,,20,0,0
iaSTOR.cat=1,,,,,,,20,0,0
iaSTOR.inf=1,,,,,,,20,0,0

..CAT files should be flagged = 1,,,,,,,,3,3
And why do you omit the two 0 for the .SYS but write them for the .INF?

Stefan
 
Please STOP top posting and full quotes.
It sounds like you're really close and this might cover thingy you already
know but I've already written it up for a client so it's a handy complete
process.

Including SATA & RAID Drivers
Windows XP doesn't have native support for RAID or SATA mass storage devices
therefore, these device drivers must be integrated when the reference PC is
SysPreped and must be captured as a part of the base image. After applying
the WIM image in WinPE,

No WIM here, and no WinPE either.
You can go the long and tedious way with WinPE and WIM and Sysprep[.inf],
but if you want to use the recovery console from your setup media then
you'll need the F6 floppy, the $OEM$\TEXTMODE\ directory (with all its
drawbacks) or the inclusion of the additional drivers in the TXTSETUP.SIF
plus the OEMDrivers directory.

Stefan
 
Stefan said:
[SourceDisksFiles]
iastor.sys= 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat=1,,,,,,,20,0,0
iaAHCI.inf=1,,,,,,,20,0,0
iaSTOR.cat=1,,,,,,,20,0,0
iaSTOR.inf=1,,,,,,,20,0,0

.CAT files should be flagged = 1,,,,,,,,3,3
And why do you omit the two 0 for the .SYS but write them for the .INF?

I found these lines in an old article somewhere and added extra IDs for
a newer version of the driver from Intel. I haven't touched the file
destination references.
The articles I found back then had different explanations of the syntax
- just as various articles on the sif-format (0, "0", no, "no" etc.) -
one article is in contradiction to another.


/klaus
 
Stefan Kanthak said:
"Erik Chapple" <[email protected]> wrote:
[ ... ]

Thanks everybody for help but i'm not looking for information about adding
more drivers to the txtsetup.sif but for information about the txtsetup.sif
itself (reference of section names and format).
 
Klaus Jorgensen said:
Stefan said:
[SourceDisksFiles]
iastor.sys= 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat=1,,,,,,,20,0,0
iaAHCI.inf=1,,,,,,,20,0,0
iaSTOR.cat=1,,,,,,,20,0,0
iaSTOR.inf=1,,,,,,,20,0,0

.CAT files should be flagged = 1,,,,,,,,3,3
And why do you omit the two 0 for the .SYS but write them for the .INF?

I found these lines in an old article somewhere and added extra IDs for
a newer version of the driver from Intel. I haven't touched the file
destination references.

C:\i386>find ".cat" txtsetup.sif
fp4.cat = 100,,,,,,,,3,3
iasnt4.cat = 1,,,,,,,,3,3
ims.cat = 100,,,,,,_x,,3,3
msn7.cat = 100,,,,,,,,3,3
msn9.cat = 100,,,,,,,,3,3
netfx.cat = 100,,,,,,,,3,3
nt5.cat = 100,,,,,,,,3,3
nt5iis.cat = 1,,,,,,,,3,3
nt5inf.cat = 100,,,,,,,,3,3
ntprint.cat = 100,,,,,,_x,,3,3
oembios.cat = 1,,,,,,,,3,3
osccab.cat = 1,,,,,,,,3,3
sp3.cat = 100,,,,,,_x,,3,3
mstsweb.cat = 100,,,,,,,,3,3
tabletpc.cat = 100,,,,,,,,3,3
mediactr.cat = 100,,,,,,,,3,3
hpcrdp.cat = 1,,,,,,,,3,3
mapimig.cat = 1,,,,,,,,3,3
mw770.cat = 1,,,,,,,,3,3
wmerrenu.cat =100,,,,,,,,3,3
msmsgs.cat = 100,,,,,,,,3,3
The articles I found back then had different explanations of the syntax
- just as various articles on the sif-format (0, "0", no, "no" etc.) -
one article is in contradiction to another.

C:\i386>find ".sys" txtsetup.sif | find "_"

indeed doesn't show any preference for ",0,0," or ",,,".

Stefan
 
Stefan said:
C:\i386>find ".sys" txtsetup.sif | find "_"

indeed doesn't show any preference for ",0,0," or ",,,".

Sorry - didn't make myself clear.
I was referring to the syntax of the ristndrd.sif/unattend.txt files,
and whether or not values in these files should have quotation marks
and use numbers (0/1) or text (yes/no).


/klaus
 
Back
Top