mmarable Posted March 26, 2004 Posted March 26, 2004 I'm hoping that someone might have a suggestion as I'm searching the forums here on this one.I've put together a Win2003 Standard Server auto install CD for work. The CD works great when you don't need to load any additional drivers at the F6 prompt at the start of the install.The problem they ran into today was when they were trying to use it to install Windows on a SAN boot server. At the F6 prompt they loaded the Emulex HBA drivers, the install partitioned and formated the drive, but when it came time to copy the files, it immediately failed to copy the Emulex drivers from the floppy disk. If they skipped the Emulex drivers, the rest of the unattended install ran as normal, but the server bluescreens at first boot.Anyone have any ideas? I'll work on getting a copy of the WINNT.SIF here shortly in case anyone wants to take a look at it.ThanksMike;SetupMgrTag[Data] AutoPartition=0 MsDosInitiated="0" UnattendedInstall="Yes"[Unattended] UnattendMode=DefaultHide OemSkipEula=Yes OemPreinstall=Yes TargetPath=\WINDOWS Repartition=No WaitForReboot="no" DriverSigningPolicy=Ignore OemPnPDriversPath="Drivers\Emulex9000"[GuiUnattended] AdminPassword=* AutoLogon = Yes AutoLogonCount = 4 EncryptedAdminPassword=NO OEMSkipRegional=1 TimeZone=35 OemSkipWelcome=1[UserData] ProductKey=99999-99999-99999-99999-99999 FullName="Corporate Infrastructure" OrgName="Borders Group, Inc." ComputerName=[Display] BitsPerPel=32 Xresolution=1024 YResolution=768[LicenseFilePrintData] AutoMode=PerServer AutoUsers=5[Branding] BrandIEUsingUnattended=Yes[URL] Home_Page=http://corpinfo.bordersgroupinc.com[GuiRunOnce][Identification] JoinWorkgroup=WORKGROUP[Networking] InstallDefaultComponents=Yes
Ausmith1 Posted March 27, 2004 Posted March 27, 2004 You should try creating a custom CD with the Emulex drivers on the CD, that's worked for me in the past for SAN boot systems.There are various guides on here as to how to do this, if you are still unsure what to do or have problems, post the txtsetup.oem file for the HBA and I can help you with it.It's not very hard to do though when you know how...Here is a post I created a week or so ago showing how to do this for a similar card.
mmarable Posted March 27, 2004 Author Posted March 27, 2004 I took a look at the guide you wrote Ausmith1 and it seems pretty straight forward, but just to be sure here is the txtsetup.oem from Emulex: ## TXTSETUP.OEM - This file is used by Setup to install the Emulex Scsi # Miniport driver lpxnds.sys for Boot-time installation## (for Emulex LightPulse PCI Fibre Channel Host Adapter)## Emulex BIOS may be found on our ftp site. It currently supports INT13,# and multi-boot environments, with Private FC-AL an F_Port fabric support.# The BIOS is loaded to the adapter with either the NT or DOS utility.## format for txtsetup.oem.## General format:## [section]# key = value1,value2,...### The hash ('#') introduces a comment.# Strings with embedded spaces, commas, or hashes should be double-quoted#[Disks]# This section lists all disks in the disk set.## <description> is a descriptive name for a disk, used when# prompting for the disk# <tagfile> is a file whose presence allows setup to recognize# that the disk is inserted.# <directory> is where the files are located on the disk.#d1 = "Emulex LightPulse SCSI Software Diskette", \lpscsi, \[Defaults]# This section lists the default selection for each 'required'# hardware component. If a line is not present for a component,# the default defaults to the first item in the [<component_name>]# section (see below).## <component_name> is one of computer, display, keyboard, mouse, scsi# <id> is a unique <within the component> string to be associated# with an option.scsi = LP8000[scsi]# This section lists the options available for a particular component.## <id> is the unique string for the option# <description> is a text string, presented to the user in a menu# <key_name> gives the name of the key to be created for the component in# HKEY_LOCAL_MACHINE\ControlSet001\ServicesLP6000 = "Emulex LP6000 PCI-Fibre Channel HBA", lpxndsLP7000 = "Emulex LP7000 PCI-Fibre Channel HBA", lpxndsLP8000 = "Emulex LP8000 PCI-Fibre Channel HBA", lpxndsLP9000 = "Emulex LP9000 PCI-Fibre Channel HBA", lpxndsLP9802 = "Emulex LP9802 PCI-Fibre Channel HBA", lpxndsLP10000 = "Emulex LP10000 PCI-Fibre Channel HBA", lpxndsLP850 = "Emulex LP850 PCI-Fibre Channel HBA", lpxndsLP950 = "Emulex LP950 PCI-Fibre Channel HBA", lpxndsLP982 = "Emulex LP982 PCI-Fibre Channel HBA", lpxndsLP1050 = "Emulex LP1050 PCI-Fibre Channel HBA", lpxnds# This section lists the files that should be copied if the user# selects a particular component option.## <file_type> is one of driver, port, class, dll, hal, inf, or detect.# See below.# <source_disk> identifies where the file is to be copied from, and must# match en entry in the [Disks] section.# <filename> is the name of the file. This will be appended to the# directory specified for the disk in the [Disks] section to form the# full path of the file on the disk.[Files.scsi.LP6000]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP7000]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP8000]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP9000]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP9802]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP10000]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP850]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP950]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP982]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat[Files.scsi.LP1050]driver = d1, lpxnds.sys, lpxndsinf = d1, oemsetup.infdll = d1, cocpyinf.dllcatalog= d1, lpxnds.catdriver = d1, lpxftr.sys, lpxftrinf = d1, lpsimdev.infcatalog= d1, lpsimdev.cat# This section specifies values to be set in the registry for# particular component options. Required values in the services\xxx# key are created automatically -- use this section to specify additional# keys to be created in services\xxx and values in services\xxx and# services\xxx\yyy.## <key_name> is relative to the services node for this device.# If it is empty, then it refers to the services node.# If specified, the key is created first.# <value_name> specifies the value to be set within the key# <value_type> is a string like REG_DWORD. See below.# <value> specifies the actual value; its format depends on <value_type>[Config.scsi.LP6000]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP7000]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP8000]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP9000]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP9802]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP10000]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP850]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP950]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP982]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[Config.scsi.LP1050]value = Parameters\Device,DriverParameters,REG_SZ,"SimulateDevice=0;Topology=2;"value = Parameters\Device,MaximumSGList,REG_DWORD,0x81value = Parameters\Device,NumberOfRequests,REG_DWORD,0x96value = Parameters\PnPInterface,5,REG_DWORD,1[HardwareIds.scsi.LP6000]id = "PCI\VEN_10DF&DEV_1AE5&SUBSYS_1AE510DF", "lpxnds"[HardwareIds.scsi.LP7000]id = "PCI\VEN_10DF&DEV_F700&SUBSYS_F70010DF", "lpxnds"[HardwareIds.scsi.LP8000]id = "PCI\VEN_10DF&DEV_F800&SUBSYS_F80010DF", "lpxnds"[HardwareIds.scsi.LP9000]id = "PCI\VEN_10DF&DEV_F900&SUBSYS_F90010DF", "lpxnds"[HardwareIds.scsi.LP9802]id = "PCI\VEN_10DF&DEV_F980&SUBSYS_F98010DF", "lpxnds"[HardwareIds.scsi.LP10000]id = "PCI\VEN_10DF&DEV_FA00&SUBSYS_FA0010DF", "lpxnds"[HardwareIds.scsi.LP850]id = "PCI\VEN_10DF&DEV_F085&SUBSYS_F08510DF", "lpxnds"[HardwareIds.scsi.LP950]id = "PCI\VEN_10DF&DEV_F095&SUBSYS_F09510DF", "lpxnds"[HardwareIds.scsi.LP982]id = "PCI\VEN_10DF&DEV_F098&SUBSYS_F09810DF", "lpxnds"[HardwareIds.scsi.LP1050]id = "PCI\VEN_10DF&DEV_F0A5&SUBSYS_F0A510DF", "lpxnds"So, in my DOSNET.INF I would have:[Files]d1,lpxnds.sysAnd in TXTSETUP.SIF I would put:[SourceDisksFiles]lpxnds.sys = 1,,,,,,4_,4,1,,,1,4[HardwareIdsDatabase]; Emulex LightPulse SCSI Adaptersid = "PCI\VEN_10DF&DEV_1AE5&SUBSYS_1AE510DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F700&SUBSYS_F70010DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F800&SUBSYS_F80010DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F900&SUBSYS_F90010DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F980&SUBSYS_F98010DF", "lpxnds"id = "PCI\VEN_10DF&DEV_FA00&SUBSYS_FA0010DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F085&SUBSYS_F08510DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F095&SUBSYS_F09510DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F098&SUBSYS_F09810DF", "lpxnds"id = "PCI\VEN_10DF&DEV_F0A5&SUBSYS_F0A510DF", "lpxnds"[SCSI.Load]lpxnds = lpxnds.sys,4[SCSI]lpxnds = "Emulex LightPulse SCSI Adapters"This part I don't understand, but then again it's like 4:30am and I probably should be sleeping.[SourceDisksFiles]lpxnds.sys = 1,,,,,,4_,4,1,,,1,4I just copied what you had and changed the SYS filename to the Emulex one.Finally, to HIVESYS.INF I would add:I don't know. Looking at your guide, I kind of see where in the OEM file to find the info, but from there it falls apart. In the Adaptec sample, there's only one card to build the reg entries for, but with the Emulex there are 10. The settings are identical in each, but do I need to separate them somehow?Here's my crack at the HIVESYS.INF:[AddReg]; Emulex LightPulse SCSI AdaptersHKLM,"SYSTEM\CurrentControlSet\Services\lpxnds\Parameters",,0x00000012HKLM,"SYSTEM\CurrentControlSet\Services\lpxnds\Parameters\Device","DriverParameters",0x00000002,"SimulateDevice=0;Topology=2;"HKLM,"SYSTEM\CurrentControlSet\Services\lpxnds\Parameters\Device","MaximumSGList",0x00010003,0x81HKLM,"SYSTEM\CurrentControlSet\Services\lpxnds\Parameters\Device","NumberOfRequests",0x00010003,0x96HKLM,"SYSTEM\CurrentControlSet\Services\lpxnds\Parameters\PnPInterface","5",0x00010003,1This part just loses me:; Adaptec I2O RAID AdaptersHKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\dpti2o","EventMessageFile",0x00020002,"%SystemRoot%\System32\IoLogMsg.dll"HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\dpti2o","TypesSupported",0x00010003,7I found these Registry keys in the OEMSETUP.INF:HKLM,SYSTEM\CurrentControlSet\Services\disk,TimeOutValue,0x00010001,0x3cHKLM,SYSTEM\CurrentControlSet\Control\ScsiPort\SpecialTargetList\GenDisk,LargeLuns,0x00010001,0x00000001HKLM,SYSTEM\CurrentControlSet\Control\ScsiPort\SpecialTargetList\GenDisk,SparseLUN,0x00010001,0x00000001Oh, and the directory:$OEM$\$1\Drivers\Emulex9000I386\SVCPACKCopy lpxnds.sys to \i386Copy lpxnds.cat to \i386\SVCPACKHow far off am I?Thanks again for the help.Mike
Ausmith1 Posted March 27, 2004 Posted March 27, 2004 Well the first thing that I would say is to take it one card at a time and just add the section for the card that you actually have, if that works then just copy it's settings for the rest of the models listed just in case you ever need them in the future. The Adaptec card I posted a listing for has about 40 HBAs listed, they just had a better formatted TXTSETUP.OEM file to work from...If you are not sure which model of HBA you have, use the Devcon utility to probe its PCI ID values and compare it to those in the TXTSETUP.OEM file.Use the following devcon syntax to probe the PCI IDs. This restricts the info dump to just Emulex devices (installed or not).devcon hwids *10DF*I have the HP KPGSA HBA (Which is based on the Emulex LP950) integrated into a CD at work, I'll be able to access it later and send you the exact settings I've used. No assurances that it will be the same though...Your DOSNET.INF looks fine. Your TXTSETUP.SIF should look like this though:[SourceDisksFiles]lpxnds.sys = 1,,,,,,4_,4,1,,,1,4[HardwareIdsDatabase]; Emulex LightPulse SCSI AdaptersPCI\VEN_10DF&DEV_1AE5&SUBSYS_1AE510DF = "lpxnds"PCI\VEN_10DF&DEV_F700&SUBSYS_F70010DF = "lpxnds"PCI\VEN_10DF&DEV_F800&SUBSYS_F80010DF = "lpxnds"PCI\VEN_10DF&DEV_F900&SUBSYS_F90010DF = "lpxnds"PCI\VEN_10DF&DEV_F980&SUBSYS_F98010DF = "lpxnds"PCI\VEN_10DF&DEV_FA00&SUBSYS_FA0010DF = "lpxnds"PCI\VEN_10DF&DEV_F085&SUBSYS_F08510DF = "lpxnds"PCI\VEN_10DF&DEV_F095&SUBSYS_F09510DF = "lpxnds"PCI\VEN_10DF&DEV_F098&SUBSYS_F09810DF = "lpxnds"PCI\VEN_10DF&DEV_F0A5&SUBSYS_F0A510DF = "lpxnds"[SCSI.Load]lpxnds = lpxnds.sys,4[SCSI]lpxnds = "Emulex LightPulse SCSI Adapters"In other words the lines like this:id = "PCI\VEN_10DF&DEV_F0A5&SUBSYS_F0A510DF", "lpxnds"should be reformatted to look like this instead:PCI\VEN_10DF&DEV_F0A5&SUBSYS_F0A510DF = "lpxnds"The [sourceDisksFiles] bit is something I don't 100% understand either, I recall reading something on gosh's site that described it somewhat though.For HIVESYS.INF I'm pretty sure that just one set of entries for all the Emulex cards should do since they are all identical anyway. What this section does is builds the device driver parameters nodes in the initial registry so that the system can boot in GUI mode, if these are wrong then you might get a BSOD. You can also get a BSOD if it can't find the driver files in GUI mode, that's why you have to have them in two seperate places seemingly.Usually the info to be put into the HIVESYS.INF file needs to taken from the OEMSETUP.INF file and reformatted. It can get a little complex here as you have to install the "Simulate" device also...I'll post the rest of this later when I get a look at the way I did it before...
mmarable Posted March 29, 2004 Author Posted March 29, 2004 Ausmith1,I tried your suggestion and it worked like a charm! Thanks a lot, I really owe you one.Mike
Ausmith1 Posted March 29, 2004 Posted March 29, 2004 Good, I'm glad it worked out for you.Could you please post any possible differences / changes you had to make from the above posts in case someone else needs to do this in the future?I'll post another thread with the HP KGPSA settings that I use in case anyone needs those in the future.
mmarable Posted March 31, 2004 Author Posted March 31, 2004 I set up my files just like I posted above with the correction you pointed out in the TXTSetup.sif file.Thanks again for your help.
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