Jump to content

Recommended Posts

Posted (edited)

Hi! Newbie poster here (but I've got a good tale to spin.) Due to the circumstances I am working with, I am in charge of managing an unattended XP install system with the following stipulations:

- I may NOT remaster the Windows XP ISO.

- I need to provide textmode SCSI drivers, as well as the unattended answer file, on a floppy.

- If at all possible, there should be no need to press F6 to enable usage of the drivers.

This system has worked in the past with a private set of drivers. Winnt.sif on the floppy basically looks like this:

OemPreinstall=No
DriverSigningPolicy=Ignore
...
[OemBootFiles]
driver.sys
driver.cat
driver.inf
disk.tag
txtsetup.oem

[MassStorageDrivers]
"Our Driver"="OEM"

In this case, with this setup:

A: = Floppy

D: = XP CD

The setup is fully unattended and there is no need to press F6 to get Windows Setup to use the drivers.

We now need to bundle the LSI Logic LSISAS1068 drivers instead of our private driver in certain cases. With my script, the generated floppy now looks like this:

OemPreinstall=No
DriverSigningPolicy=Ignore
...
[OemBootFiles]
lsipseud.inf
mpixp32.cat
symmpi.inf
symmpi.sys
symmpi.tag
txtsetup.oem

[MassStorageDrivers]
"LSI PCI Fusion-MPT Miniport Driver (XP 32-bit)"="OEM"

In this situation, however, I must press F6 to enable use of the LSI driver (which works perfectly.) Otherwise, Windows craps out and says "there are no hard drives in your system." Which is odd, because in the little status bar on the screen, I see this flash by:

"Windows is loading files (symmpi.sys)"

(which the private driver does too, so I would assume that is an indicator of me having done something right.)

So... What is the difference here? Why can't I have a fully unattended install with the LSI driver? I've been trawling the web and this setup (OemPreinstall=No with a required mass storage driver and a NO F6 requirement) appears to be very uncommon. Here are my thoughts so far on what the possible causes could be:

- The LSI driver is not signed (mpixp32.cat is a mostly blank file.) However, my DriverSigningPolicy is set to ignore, so this shouldn't be a problem. (Wait.. or should it?)

- The LSI driver uses two INF files instead of one: lsipseud.inf AND symmpi.inf.

- Something in the txtsetup.oem provided by LSI is incompatible with whatever hidden feature Windows uses to provide this fully unattended driver loading capability. (I can provide this file in a little while.)

- Line endings in any of the text files involved with the LSI driver (Unix style vs Windows style?)

Incidentally, using nLite to remaster the ISO with the LSI driver does work, but I'm of course not allowed to do that in practice.

Alternative questions that may help with this:

- Is there a way to kick Windows Setup into a debug mode so I can see it perhaps fail to load my LSI driver for some particular reason?

- Would switching to the "$OEM$" directory structure and specifying OemFilesPath=A:\ perhaps make this work? I see no practical difference.

I'd appreciate any help I can get!

Edited by SirLudicrus

Posted

Just throwing a shot in the dark, but it is possible that the "name" is not parsed correctly?

i.e. is it maybe that:

"LSI PCI Fusion-MPT Miniport Driver (XP 32-bit)"

is too long or the parenthesis "confuse" the parser? :unsure:

jaclaz

Posted (edited)

Wow, those are some constraints. With Windows XP you only have two options:

  • Use F6 to load your SCSI Driver during setup
  • Add the SCSI Driver files to the I386 directory of the installation CDROM and edit the TXTSETUP.SIF file

If you were doing a network installation you could use the OEMBootFiles method to add the SCSI driver during boot. But, because you're using a CDROM you only have the above two options. Remember, OEMBootFiles only works if you launch Windows setup from WINNT32.EXE from WinPE (or WINNT.EXE from DOS).

If I was you I would fight the "Must not remaster the Windows XP ISO" constraint. Because, frankly that restriction is silly. XP is an old OS and needs to be smacked around a bit to get working properly on new hardware. I suggest you do it the second way, as outlined here. It's the easiest.

Good luck.

Edited by Nois3
Posted
Wow, those are some constraints. With Windows XP you only have two options:
  • Use F6 to load your SCSI Driver during setup
  • Add the SCSI Driver files to the I386 directory of the installation CDROM and edit the TXTSETUP.SIF file

If you were doing a network installation you could use the OEMBootFiles method to add the SCSI driver during boot. But, because you're using a CDROM you only have the above two options. Remember, OEMBootFiles only works if you launch Windows setup from WINNT32.EXE from WinPE (or WINNT.EXE from DOS).

But remember that this does work without a hassle for our private driver, so there must be something different between the two that is causing the fully unattended install to work with our driver and not with the LSI one... That's what I'm mainly posting about. For reasons I'm not at liberty to explain, the "don't remaster ISO" constraint is inflexible.

Thanks for the answers so far.

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