edmoncu Posted April 28, 2004 Posted April 28, 2004 Hi all,This is my first post here. Ive started researching about adding mass storage drivers via the (winnt.sif/txsetup.oem) method since late 2002, I was never successful then and I gave up.Its been some time ago since I asked about this, but I am curious if there's any progress on adding mass storage drivers on a bootable xp cd thru:- copying mass storage driver files to under \$OEM$\Textmode- editing the txtsetup.oem (\$OEM$\Textmode) and winnt.sif (\i386) with the necessary changes?With a recent searching thru lots of forums, I found none... I was wondering, does this approach never work at all?So far, all the working solutions i've seen were all about:- integrating the necessary entries of the txtsetup.oem (\$OEM$\Textmode) to the txtsetup.sif (\i386)- compressing/copying the mass storage drivers files to the i386 folder- copying the driver files to \$OEM$\$1\Drivers) and making the necessary changes to winnt.sif (\i386).
RyanVM Posted April 28, 2004 Posted April 28, 2004 I haven't to date seen anybody successfully integrate the drivers through that method (though I seem to recall hearing about it now that I think about it).If you want simplicity, I'd just go with my little package linked in my sig (shameless plug I know ) as all you have to do is unpack the RAR archive to the CD root, run the batch file to make the necessary changes to txtsetup.sif, and copy/paste some stuff into winnt.sif.
ME2U Posted April 28, 2004 Posted April 28, 2004 RyanVM,I've used your package and thanks. You may want to add integration with DOSNET.INF because the files (drivers) does not get copied if I do a "winn32.exe" installation method not via CDROM.
[BM]Crusher Posted April 28, 2004 Posted April 28, 2004 I have never tested the Textmode directory method of mass storage driver installation, but, here is some information directly from Microsoft themselves about how to do it:1) OEMPreinstall has to be set to YES2) Place the Driver files (.sys) in the Textmode folder3) Place a valid txtsetup.oem in the Textmode folder (one file for all drivers)4) In unattend file, add section [OEMBootFiles] with value SCSI_Driver_File_Name=iaStor (for Intel SATA Driver for example)5) In unattend file, add section [MassStorageDrivers] with value iaStor=OEM (for Intel SATA Driver for example)That should be it from what I read... I didn't fully understand the section "must match one of the strings defined in the right-hand side of the [sCSI] section" but hey, you will figure it out i guess Syntax mass_storage_driver_description = Retail | OEM Values Retail Indicates that the driver is part of the retail Microsoft® Windows® product.OEM Indicates that the driver is OEM-supplied. If the value is OEM, you must also list the driver in the [OEMBootFiles]section of the Unattend.txt file.Example MyDriver_1 = OEMComments mass_storage_driver_description must match one of the strings defined in the right-hand side of the [sCSI] section of TxtSetup.sif (for a retail driver) or TxtSetup.oem (for an OEM driver). You can specify multiple instances of mass_storage_driver_description. ImportantAdd 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.
RyanVM Posted April 29, 2004 Posted April 29, 2004 RyanVM,I've used your package and thanks. You may want to add integration with DOSNET.INF because the files (drivers) does not get copied if I do a "winn32.exe" installation method not via CDROM.Good suggestion, I'll look into it
Alanoll Posted April 29, 2004 Posted April 29, 2004 @[bM]Crusheryeah.....this is true....it works mighty fine for a sysprep install, but not unattended. Real shame.Spheris (he works for Microsoft) awhile back had a few of us try and work up as many errors as possible in relation to using that method. It may get fixed in SP2, but probally not.
[BM]Crusher Posted April 29, 2004 Posted April 29, 2004 alanoll really? i hope they do fix it...i've never given it a shot but a bit sad to hear it doesn't work... was looking to be a great alternative to the usual methods...I mean, seriously, you could just copy your SCSI/RAID floppy driver disk into the Textmode folder, then add the 4 lines of code to winnt.sif and you would be away!
RyanVM Posted April 29, 2004 Posted April 29, 2004 Crusher,Apr 29 2004, 12:26 AM] alanoll really? i hope they do fix it...i've never given it a shot but a bit sad to hear it doesn't work... was looking to be a great alternative to the usual methods...I mean, seriously, you could just copy your SCSI/RAID floppy driver disk into the Textmode folder, then add the 4 lines of code to winnt.sif and you would be away! Still a pain in the arse if you have a board with more than one controller like many new motherboards are these days (with RAID supporting south bridges such as ICH5R and an addon RAID controller such as the Promise 378). You'd have to hack up the txtsetup.oem file to include both. Yuck.And of course, things get even more complicated if you want to use your unattended CD on more than one machine.
Alanoll Posted April 29, 2004 Posted April 29, 2004 oh goodlord yes....could you imagine adding all those lines like you have in your package (RyanVM) to the txtsetup.oem file and then HOPING it all works....
[BM]Crusher Posted April 30, 2004 Posted April 30, 2004 i was simply thinking of dropping the ABIT raid driver disk into the folder it has the silicon, intel and via raid drivers built in... then once quick hack to add the promise376 drivers to the txtsetupstill.. there's no point even trying it, if it doesnt work wouldn't hacking the txtsetup.oem be just like hacking the normal windows txtsetup file? adding the SCSI sections?
RyanVM Posted April 30, 2004 Posted April 30, 2004 Is it OK to have multiple sections of the same name in an INF file such as dosnet.inf?
MastaVR6 Posted April 30, 2004 Posted April 30, 2004 Make sure to include the CD IDE/ATAPI drivers- or you wont be able to read from the CD during the GUI portion of the install. I built a single unattended CD for compatibility with HP/Compaq DL360 gen 1's and gen 3's, yes, both chipsets. Adding different ones is fairly easy but tedious. Most of the notes on the net leave out a few nuances of this process.txtsetup.sif is changed when service packs are applied. modify it after slipstreaming the SP's.>>unattend.txt start<<;SetupMgrTag[unattended]DriverSigningPolicy=IgnoreExtendOemPartition=1FileSystem=ConvertNTFSNtUpgrade=NoOEMPreinstall=YesOemSkipEula=YesOemFilesPath=.\;.\hpq;.\I386;..\$oem$;OemPnPDriversPath=winnt\HPQ;OverwriteOemFilesOnUpgrade=NoTargetPath=winntWin9xUpgade=NoRepartition=NoUnattendmode=FullUnattended[Data]AutoPartition=0MsDosInitiated="0"UnattendedInstall="Yes"[GuiUnattended]AdminPassword=*AutoLogon=YesAutoLogonCount=3OEMSkipRegional=1OEMSkipWelcome=1TimeZone=4ProfilesDir=C:\WINNT\Profiles[GuiRunOnce]; command to install the drivers from the driver media Command1="C:\bp000171\bp000171.bat"[OEMBootFiles]cpqcissm.dllcpqcissm.Syscpqcissm.INFcpqcissm.CATTxtsetup.oem[MassStorageDrivers]"Compaq Smart Array Controller" = "RETAIL""Smart Array 5i, 532, 5312 Controllers" = "RETAIL""IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "RETAIL">>end unattend.txt<<>>txtsetup.oem start<<[Disks]d1 = "Smart Array 5i, 532, 5312 Controllers", \cpqcissm.sys, \[Defaults]SCSI = B178[sCSI]B060 = "Smart Array 5300 Controller"B178 = "Smart Array 5i, 532, 5312 Controllers"0046 = "Smart Array 641, 642, 6400 Controllers"[Files.scsi.B060]driver = d1,cpqcissm.sys,cpqcissminf = d1,cpqcissm.infcatalog = d1,cpqcissm.cat[Files.scsi.B178]driver = d1,cpqcissm.sys,cpqcissminf = d1,cpqcissm.infcatalog = d1,cpqcissm.cat[Files.scsi.0046]driver = d1,cpqcissm.sys,cpqcissminf = d1,cpqcissm.infcatalog = d1,cpqcissm.cat[Config.cpqcissm]value = "",tag,REG_DWORD,103value = Parameters\PnpInterface,5,REG_DWORD,1value = Parameters\Device,NumberOfRequests,REG_DWORD,80[HardwareIds.scsi.B060]id = "PCI\VEN_0E11&DEV_B060","cpqcissm"[HardwareIds.scsi.B178]id = "PCI\VEN_0E11&DEV_B178","cpqcissm"[HardwareIds.scsi.0046]id = "PCI\VEN_0E11&DEV_0046","cpqcissm">>end txtsetup.oem<<My blood and sweat outlined below...Special note for backward compatibility with older Compaq Boxes with the Compaq System (EISA) partition-"Repartition=No" is needed to allow selecting the non EISA partition on the HP/Compaq boxes with the unattended CD setup. Without it, the drive (and the Compaq system partition) is wiped leaving no 'F10' functions.The files listed under oembootfiles (in unattend.txt) are all in the folders-<cdroot>:\$oem$\i386\$oem$\ and <cdroot>:\$oem$\i386\textmode\"<cdroot>:\$oem$\i386\$oem$\" (duplicate of textmode) folder location is not a typo, I did this out of frustration trying to determine where to cross reference these files during commandline setup and GUI mode. It works. The line under guirunonce runs bp000171.bat a slightly modified HP script that runs itself from the folder bp000171.w2k copied to C:\ (normal operation) during setup from <cdroot>:\$oem$\$$\bp000171.w2k\TEXTMODE folder- the txtsetup.oem text file: M$ and most sites that touch on this subject fail to draw out the full syntax for how this process of embedding mass storage device drivers into unattend CD's. Now that I've said that, I will now include my notes modifying dosnet.inf and txtsetup.sif below.Tech Forum - http://www.thetechguide.com/forum/index.ph...opic=5090&st=20indicated the [sourceDisksNames.x86] section must include Also in unattend.txt :...OemFilesPath="..\$OEM$"...DL360 MODs- from the HPQ Proliant Essentials CD, run <CD drive>:\punchout\w2kdrvrs.bat to copy the HPQ drivers to a floppy.In DOSNET.INF(To only install the SCSI driver "Smart Array 5i, 532, 5312 Controllers" ) edit the following sections-begin>>...[FloppyFiles.x]...d1,cpqcissm.sys...[strings]...cpqcissm = "Smart Array 5i, 532, 5312 Controllers"...[Files]...d1,cpqcissm.catd1,cpqcissm.dlld1,cpqcissm.infd1,cpqcissm.sys...<<endIn txtsetup.sif, (To only install the SCSI driver "Smart Array 5i, 532, 5312 ; Controllers" ) edit the following sections-begin>>...[sourceDisksFiles]...cpqcissm.cat = 3,,,,,,_x,4,1cpqcissm.dll = 3,,,,,,_x,4,1cpqcissm.inf = 3,,,,,,_x,4,1cpqcissm.sys = 3,,,,,,_x,4,1...[HardwareIdsDatabase]...PCI\VEN_0E11&DEV_B178 = "cpqcissm"...[sCSI.Load]...cpqcissm = cpqcissm.sys,4...[sCSI]...cpqcissm = "Smart Array 5i, 532, 5312 Controllers"...<<endNOW WHERES MY DONUTS!?!!I said 'nuances'j/k - its (donuts) a tradition here at my work....
MastaVR6 Posted April 30, 2004 Posted April 30, 2004 Is it OK to have multiple sections of the same name in an INF file such as dosnet.inf?I believe either the first or last section 'read' is used. Such a file might be ignored or considered corrupt/invalid due to the erpeated sections.
gosh Posted May 1, 2004 Posted May 1, 2004 for dosnet.inf and txtsetup.sif the files are parsed by setup and all sections will be read. In general though, only the last section is read. Best way to test is trial and error.-gosh
baliktad Posted May 26, 2004 Posted May 26, 2004 I used the method detailed in the Windows 2003 OPK for integrating bootable mass storage device drivers. Required adding [MassStorageDrivers] and [OEMBootFiles] sections to my unattend.txt file and dropping the files in \$OEM$\TEXTMODE and also \$OEM$\$1\PnP\viaraid. Because I consolidated all 5 files into one directory, I did have to make a single modification to the txtsetup.oem file.If someone can detail their exact machine configuration and the methods they've tried (including error messages received) maybe the community can work towards a solution.It just seems to me that while we do have automated methods to make some/all of these source file modifications, it is still a hacky workaround. I don't like modifying files in my \i386 directory ever as 1) it immediately brings you into an unsupported state with Microsoft and 2) you'll have to make those changes to each \i386 directory you'll ever use, including all client and server variations, all integrated service pack points, and any other beta builds you are testing. In addition, separating original Microsoft source files from OEM/corporate customizations puts us in a good position to look forward to Longhorn, which will be using image-based setup only.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now