Jump to content

BootCD not working w/ Adaptec Hostraid


Recommended Posts

By loading the a320raid driver from a customized x64 CD I get the message:

File TXTSETUP.OEM caused an unexpected error (18) at line 1896 in d:\srvrtm\base\boot\setup\oemdisk.c

Here you can see the complete configuration

Does anyone know if there is a difference of textmode installation (txtsetup.oem between XP x64 and XP 32 Bit? Did someone successfully add SCSI Raid Adapter (not SATA) to a unattended CD of Windows x64 edition?

BTW:

Sorry for cross posting but it's not clear to me which will be the right forum for x64 unattended questions:

Windows XP 64 Bit Edition or Unattended Windows?

Link to comment
Share on other sites


is the driver decorated?

does it work on a normal install from a floppy?

a few people are having trouble making 64bit unattended installs

i wanted to slipstream the nvidia raid drivers, but no joy so far

(although i've just removed the raid array that had my os's on)

Link to comment
Share on other sites

is the driver decorated?

Yes, manufacture and modell section seems to be correct.

Stripped version of a320raid.inf

[Version]
signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_PROVIDER%
CatalogFile="a320raid.cat"
DriverVer=03/25/2005,2.00.00.3635


[SourceDisksNames]
1 = %FLOPPY_DESCRIPTION%,,,\

[SourceDisksFiles]
a320raid.sys= 1,,

[AdptMgtFiles]
;
; Dummy section to satisfy ChkInf tool
;


[ControlFlags]
;ExcludeFromSelect=


[Manufacturer]
%ADP%= ADAPTEC, NTamd64

[ADAPTEC.NTamd64]
;
; All U320 HostRAID device IDs (AIC-7902s and ASC-39320Ds)
;
%PCI\VEN_9005&DEV_809F.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_809F
%PCI\VEN_9005&DEV_8090.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8090
%PCI\VEN_9005&DEV_8091.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8091
%PCI\VEN_9005&DEV_8092.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8092
%PCI\VEN_9005&DEV_8093.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8093
%PCI\VEN_9005&DEV_8094.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8094
%PCI\VEN_9005&DEV_809E.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_809E
%PCI\VEN_9005&DEV_808F.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_808F
%PCI\VEN_9005&DEV_8080.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8080
%PCI\VEN_9005&DEV_8097.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8097
; Rev B IDs
%PCI\VEN_9005&DEV_809D.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_809D
%PCI\VEN_9005&DEV_809C.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_809C
%PCI\VEN_9005&DEV_8095.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8095
%PCI\VEN_9005&DEV_8096.DeviceDesc% = HostRAID_Inst,PCI\VEN_9005&DEV_8096
; Management Device
%ADPTManagement.DeviceDesc%  = NODRV, SCSI\ProcessorADAPTEC_HostRAID________1.0_
[NODRV]
;
; Dummy directive to satisfy ChkInf tool
;
CopyFiles = AdptMgtFiles

[NODRV.Services]
;
; this is blank to just allow the install to succeed
;
AddService = ,%SPSVCINST_ASSOCSERVICE%; null service install

[HostRAID_Inst.nt]
CopyFiles=@a320raid.sys

[HostRAID_Inst.nt.HW]
DelReg = LegacyScsiportValues

[HostRAID_Inst.nt.Services]
AddService = a320raid, 0x00000002, HostRAID_Service_Inst, Miniport_EventLog_Inst

[HostRAID_Service_Inst]
ServiceType    = 1     ; SERVICE_KERNEL_DRIVER
StartType      = 0     ; SERVICE_BOOT_START
ErrorControl   = 1     ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\a320raid.sys
LoadOrderGroup = SCSI Miniport
AddReg         = pnpsafe_pci_addreg
AddReg         = TimeOutValue_addreg
AddReg         = MaxLunsToScan_addreg
;AddReg         = QueueDepth_addreg

[pnpsafe_pci_addreg]
HKR,"Parameters\PnpInterface","5",0x00010001,0x00000001

[TimeOutValue_addreg]
HKLM,SYSTEM\CurrentControlSet\Services\Disk,TimeOutValue,0x00010001,0x0000003C

[MaxLunsToScan_addreg]
HKLM,System\CurrentControlSet\Services\a320raid\Parameters\Device,"DriverParameter",0x00000000,"MAXLUNS=8"


[LegacyScsiportValues]
HKR,Scsiport,BusNumber
HKR,Scsiport,LegacyInterfaceType
HKR,Scsiport,SlotNumber


[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg

[Miniport_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,0x00010001,7


[DestinationDirs]
DefaultDestDir = 12            
                               
[Strings]
INF_PROVIDER="Adaptec"
ADP="Adaptec"
FLOPPY_DESCRIPTION="Adaptec HostRAID U320 Driver For Windows 2000/XP/2003"

#FLOPPY_DESCRIPTION="Adaptec Windows SCSI Driver"
#ADPTManagement.DeviceDesc = "Adaptec Processor Device (Pseudo)"

ADPTManagement.DeviceDesc = "Adaptec HostRAID Management Processor Device for U320"
; Adaptec SCSI Controllers supported by this driver.
;
; All U320 HostRAID device IDs (AIC-7902s and ASC-39320Ds)
;
PCI\VEN_9005&DEV_809F.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8090.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8091.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8092.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8093.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8094.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_809E.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_808F.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8080.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8097.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_809D.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_809C.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8095.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"
PCI\VEN_9005&DEV_8096.DeviceDesc = "Adaptec Embedded SCSI HostRAID Controller"

;*******************************************
;Handy macro substitutions (non-localizable)
SPSVCINST_ASSOCSERVICE = 0x00000002

a320mgt.inf

[Version]
Signature = "$WINDOWS NT$"
Class = System
ClassGuid = {4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider = %ADPT%
CatalogFile.ntamd64 = a320mgt.cat
DriverVer=09/18/2004,3.00.045

[ControlFlags]
ExcludeFromSelect = *

[SourceDisksNames]
1 = %FLOPPY1_DESCRIPTION%,hraidsk1,,

[SourceDisksFiles]

[AdptMgtFiles]
;
; Dummy section to satisfy ChkInf tool
;

[DestinationDirs]
DefaultDestDir = 12

[Manufacturer]
%ADPT% = ADPT,NTamd64

[ADPT]
; On the right hand side, what you insert is exactly what's sent in the inquiry. Each byte and its case should be identical. An underscore "_" character means dont care. The following line is for the inquiry string with
;   8 byte Vendor = "ADAPTEC"
; 16 byte Product = "HostRAID        "
;   4 byte Revision = "1.0 "
;
%ADPTManagement.DeviceDesc%  = NODRV, SCSI\ProcessorADAPTEC_HostRAID________1.0_


[NODRV]
;
; Dummy directive to satisfy ChkInf tool
;
CopyFiles = AdptMgtFiles

[NODRV.Services]
;
; this is blank to just allow the install to succeed
;
AddService = , %SPSVCINST_ASSOCSERVICE%  ; null service install

[strings]

ADPT = "Adaptec"
ADPTManagement.DeviceDesc = "Adaptec HostRAID Management Processor Device"
FLOPPY1_DESCRIPTION = "Adaptec HostRAID U320 Driver Ver 3.00"

;*******************************************
;Handy macro substitutions (non-localizable)
SPSVCINST_ASSOCSERVICE = 0x00000002

does it work on a normal install from a floppy?
Yes, this will work.
a few people are having trouble making 64bit unattended installs

i wanted to slipstream the nvidia raid drivers, but no joy so far

(although i've just removed the raid array that had my os's on)

I tried to slipstream the driver, too. The driver will be load but it will see no drives.

Link to comment
Share on other sites

The problem is solved.

First you can't use $OEM$\TEXTMODE [massstoragedrivers]/[oembootfiles] for a

CD-boot style installation.

What will work is to slipstream the drivers and to modify some registry hives.

But this method is an unsupported hack. It will be better to use WINPE.

Here are a short description:

txtsetup.sif:
[SourceDisksFiles]
a320raid.sys = 1,,,,,,5_,4,1,,,1,4
a320raid.inf = 1,,,,,,,20,0,0
a320mgt.inf  = 1,,,,,,,20,0,0
a320raid.cat = 1,,,,,,,,3,3
a320mgt.cat  = 1,,,,,,,,3,3

[HardwareIdsDatabase]
PCI\VEN_9005&DEV_809F = "a320raid"
PCI\VEN_9005&DEV_8090 = "a320raid"
PCI\VEN_9005&DEV_8091 = "a320raid"
PCI\VEN_9005&DEV_8092 = "a320raid"
PCI\VEN_9005&DEV_8093 = "a320raid"
PCI\VEN_9005&DEV_8094 = "a320raid"
PCI\VEN_9005&DEV_809E = "a320raid"
PCI\VEN_9005&DEV_808F = "a320raid"
PCI\VEN_9005&DEV_8080 = "a320raid"
PCI\VEN_9005&DEV_8097 = "a320raid"

PCI\VEN_9005&DEV_809D = "a320raid"
PCI\VEN_9005&DEV_809C = "a320raid"
PCI\VEN_9005&DEV_8095 = "a320raid"
PCI\VEN_9005&DEV_8096 = "a320raid"


[SCSI.Load]
a320raid = a320raid.sys,4

[SCSI]
a320raid = "Adaptec HOSTRAID driver for Windows XP/2003 x64 Edition"

copy scsi-driver files to:

CDROOT\$OEM$\TEXTMODE and

CDROOT\$OEM$\drivers\09_Storage\A320RAID

I also compressed the driver files with makecab and added it to

CDROOT\AMD64

Modify <amd64>\setupreg.hiv using regedit (load hive unload hive)

If you don't enter this entries the driver will be loaded during textmode setup but won't find any disks.

[HKEY_LOCAL_MACHINE\ControlSet001\Services\a320raid]
[HKEY_LOCAL_MACHINE\ControlSet001\Services\a320raid\Parameters]
[HKEY_LOCAL_MACHINE\ControlSet001\Services\a320raid\Parameters\PnPInterface]
"5"=dword:00000001

Add entries for the mini-port driver to <amd64>\HIVESYS.INF.

If not you will get a BSOD STOP 0x/B after textmode setup has completed

and when attempting to boot into GUI mode setup for the first time.

add the two entries *above* the line:

HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","ErrorControl",0x00010003,1

...
HKLM,"SYSTEM\CurrentControlSet\Services\ACPIEC","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\a320raid\Parameters",,0x00000012
HKLM,"SYSTEM\CurrentControlSet\Services\a320raid\Parameters\PnpInterface","5",0x00010003,1

HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","ErrorControl",0x00010003,1
HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","Group",0x00000002,"SCSI miniport"

don't forget to add the path to winnt.sif

OemPnPDriversPath="drivers\09_Storage\A320RAID"

Burn new CD/DVD.

Link to comment
Share on other sites

Had the same problem with a VIA SATA controller not working from boot CD.

Thanks to you finally got the answer to make it work :D

Copied your post with changes needed for the VIA controller :thumbup

First you can't use $OEM$\TEXTMODE [massstoragedrivers]/[oembootfiles] for a

CD-boot style installation.

What will work is to slipstream the drivers and to modify some registry hives.

But this method is an unsupported hack. It will be better to use WINPE.

Here are a short description:

Edit txtsetup.sif to add entries under the following headings...

[sourceDisksFiles]

viamrx64.sys = 1,,,,,,5_,4,1,,,1,4

viamrx64.inf = 1,,,,,,,20,0,0

viamrx64.cat = 1,,,,,,,,3,3

[HardwareIdsDatabase]

PCI\VEN_1106&DEV_3149 = "viamrx64"

[sCSI.Load]

viamrx64 = viamrx64.sys,4

[sCSI]

viamrx64 = "VIA VT8237/6421/6410 SATA RAID Controller(SRV2003/XP-x64)"

Copy the 3 files below to the \$OEM$\TEXTMODE and \$OEM$\PnPdrvrs and AMD64 directorys.

viamrx64.sys

viamrx64.inf

viamrx64.cat

Modify <amd64>\setupreg.hiv using regedit then Load Hive.

(Enter HKEY_LOCAL_MACHINE for key value)

Click on +HKEY_LOCAL_MACHINE then +ControlSet001 then +Services

Right click Services and click on New--Key. Enter viamrx64 as a new key name.

Right click viamrx64 and click on New--Key. Enter 'Parameters' as a new key name.

Right click on Parameters and click on New--Key. Enter 'PnPInterface' as a new key name.

Right click on PnPInterface and click on New--Dword value. Enter '5' as the value.

The registry will now have the following added...

[HKEY_LOCAL_MACHINE\ControlSet001\Services\viamrx64]

[HKEY_LOCAL_MACHINE\ControlSet001\Services\viamrx64\Parameters]

[HKEY_LOCAL_MACHINE\ControlSet001\Services\viamrx64\Parameters\PnPInterface]

"5"=dword:00000001

Add entries for the mini-port driver to <amd64>\HIVESYS.INF.

If not you will get a BSOD STOP 0x/B after textmode setup has completed

and when attempting to boot into GUI mode setup for the first time.

add the two entries *above* the line:

HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","ErrorControl",0x00010003,1

...

HKLM,"SYSTEM\CurrentControlSet\Services\ACPIEC","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\viamrx64\Parameters",,0x00000012

HKLM,"SYSTEM\CurrentControlSet\Services\viamrx64\Parameters\PnpInterface","5",0x00010003,1

HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","ErrorControl",0x00010003,1

HKLM,"SYSTEM\CurrentControlSet\Services\adpu160m","Group",0x00000002,"SCSI miniport"

Edited by ji46
Link to comment
Share on other sites

I may be being stupid (have only dabbled with unattended/slipstreaming, definitely not an expert) - having similar problems with SiS965 SATA/RAID controller on an Asus K8S-MX - but how does editing the registry hives enable the initial part of the install process to see the drive?

Link to comment
Share on other sites

  • 2 weeks later...

I'm trying to get this to work with nvraid which has two drivers that need installing.

In order to get this to work for the nvraid drivers would I need to make

these changed for each .sys file? and would I use the same settings for each?

In case anyone ever want to know. This doesn't work with the nvidia raid

drivers (nforce3).

Edited by jbm
Link to comment
Share on other sites

start regedit then highlight Hkey_local_machine, then on

file menu click on load hive. Type a name for the key

and the hiv file will be loaded under that key.

Link to comment
Share on other sites

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