Jump to content











Photo
- - - - -

How can I load more than one driver using XP txtsetup.oem?


  • Please log in to reply
39 replies to this topic

#26 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14323 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 29 June 2013 - 09:19 AM

It is still not fully clear but much better, thanks :thumbup:.

 

Further questions :ph34r::

 

Have you tried adding a "Computer" component - besides the "scsi" one?

 

One can have through grub4dos more than 2 (virtual) floppies, right?

 

Would the "third" one be read by the thingy?

 

 

 

:cheers:

Wonko



#27 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 30 June 2013 - 11:19 PM

One can have through grub4dos more than 2 (virtual) floppies, right?

Would the "third" one be read by the thingy?

No - I made a single (fd2) and  set map --floppies=3  and XP Setup did not see it :cold:  - good idea though...

errrm - just spotted I forgot to set floppies to 3! - retesting now...

Oh Pooh :hammer: - grub4dos only accepts 0 1 or 2 as parameter for map --floppies=  !!! 



#28 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 01 July 2013 - 11:09 AM

It was all going so well - I can auto-install AHCI+Firadisk or AHCI+WinVblock.

 

But afer a LOT of head scratching, I realise I have just hit a small snag with WinVBlock!

 

My grub4dos menu needs to allow for the user to be able to choose either FiraDisk or WinVBlock using F6  (as well as not pressing F6).

 

Now FiraDisk need a small floppy created so it can get the ISO file details and mount it at the 'Setup is starting Windows' phase (pmode kernel switch).

i.e. map --mem (md)0x800+4 (99)

Without device added, when firadisk is loaded and the AHCI driver, you get a BSOD 0x7B error when Setup loads Windows very early on.

 

Now if the user uses F6 and selects the AHCI driver + WinVBlock, we get a problem.

 

After the HDD format and after the 'Checking drive C:' stage we get to the 'Creating list of files to be copied' message.

At this point Setup stops with a 'The disk or CD you inserted may be damaged' message.

 

This is because WinVBlock has changed the 'current' floppy to be device (99)  which presumably it did because it was searching for it's own #!GRUB4DOS string on all floppy devices

 

So having the firadisk (99) device and running WinVBlock are mutually incompatible!

 

The easy fix is to ask the user which one they want to use and if WinVBlock then don't map the Firadisk (99) device - the problem is if the user used F6 and selects WinVblock instead.

 

I have PM's Sha0 to ask for a fix...



#29 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 01 July 2013 - 01:10 PM

Anyone know of a really good description of XP Setup install stages from CD

 

What stages are, what happens in each stage (what drivers are loaded when, etc.) , what happens at each T-xx minutes stage, what errors you might get at each stage, etc.?



#30 cdob

cdob

    Gold Member

  • Expert
  • 1397 posts

Posted 01 July 2013 - 03:38 PM

Now FiraDisk need a small floppy created so it can get the ISO file details
Chenall writes firadisk StartOptions to txtsetup.oem too. A addional small floppy is not required.
http://www.chenall.net/post/ntboot/

http://www.msfn.org/...le/page__st__64
set XPISO=XP.ISO
set fira.opt=cdrom,vmem=find:/images/%XPISO%;
...
write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n

  • steve6375 likes this

#31 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 01 July 2013 - 04:55 PM

Thanks!  :clap: That has avoided the problem! I did see that before but completely forgot about it!

I have added this in now and I think it is all working with Auto-DPMS selection of AHCI/SCSI driver and boot from ISO using either Fira or WinVBlock.



#32 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14323 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 01 July 2013 - 05:32 PM

Anyone know of a really good description of XP Setup install stages from CD

 

What stages are, what happens in each stage (what drivers are loaded when, etc.) , what happens at each T-xx minutes stage, what errors you might get at each stage, etc.?

I presume there is not anything more "accurate/detailed" than these :unsure: :

http://unattended.ms...xp/view/web/13/

http://technet.micro...7(v=ws.10).aspx

 

:cheers:

Wonko


  • steve6375 likes this

#33 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 02 July 2013 - 07:51 PM

I have tested about 8 or so XP x86 Mass Storage PCI IDs/drivers with my new  DPMS code, but there are so many drivers that I cannot hope to test them all.

Therefore, if you could give me the PCI ID (or driverpack folder name - e.g. /D/M/I3 if you don't know the IDs), then I can pre-test the parser before I release it.

The PCI IDs can be real or VM IDs.

 

Here are the ones I have tested so far  (not all tested with XP, but at least the parser seems to run OK and make the correct F6 disk and txtsetup.oem).

 

:: ------------------ TEST SECTION (uncomment one line to force a specific ID) -----
::: ****  FORCE ICH7
::echo "PCI\VEN_8086&DEV_3B29&CC_0106"="iastor7" ; D/M/I7 "iastor7.sys" "Intel ICH7" > (8)/chkpci.pci
:: ***** FORCE I4 (multiple Config lines)
::echo "PCI\VEN_8086&DEV_1D02&CC_0106"="iastorA" ; D/M/I4 "iastorA.sys" "Intel C60" > (8)/chkpci.pci
:: ***** FORCE I4 (multiple Config lines)
::echo "PCI\VEN_8086&DEV_1D60&CC_0106"="iastorS" ; D/M/I4 "iastorS.sys" "Intel C60 SATA MODE" > (8)/chkpci.pci
:: *** NO OEM DRIVER **
::echo -n > (8)/chkpci.pci
:: VMWARE SCSI with [Config.VMSCSI] section (note: PCI ID is not in txtsetup.oem!)
::echo "PCI\VEN_104B&DEV_1040"="VMSCSI" ; D/M/V "VMSCSI.sys" "VMWARE SCSI" > (8)/chkpci.pci
:: IT2 with two config lines
::echo "PCI\VEN_1283&DEV_8212"="ITEATAPI" ; D/M/IT "iteatapi.sys" "ITE IT8211 ATA ATAPI" > (8)/chkpci.pci
:: AM8
::echo "PCI\VEN_1022&DEV_7801&CC_0106"="ahcix80x"    ; D/M/AM8 "ahcix868.sys" "AMD AHCI Compatible RAID SB8xx (WXP)" > (8)/chkpci.pci
:: SS
::echo "PCI\VEN_1039&DEV_1182"="SISRAID2" ; D/M/SS "SISRAID2.sys" "SIS 182/1182 RAID" > (8)/chkpci.pci


#34 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 July 2013 - 01:43 PM

P.S. Noticed a small bug in inifile  (grub4dos program)

It does not output cr+lf when outputting a whole section, it only uses lf (0x0a) - so when a file is viewed in Notepad, the lines appear joined!

Here is a new version which is fixed.

 

Attached Files



#35 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

Posted 12 July 2013 - 08:48 PM

Perfect job Steve, thanks.

 

A few remarks if I may:

1)

I have now added support for Config sections in my version. What I do is look for a [Config section with a 'value' and a PnPInstance string in the txtsetup.oem file that is in the driver pack folder.

I use the first section that I find.

NT4 sections don't seem to use PnPInstance.

The only thing is if there is more than one section with PNPInstance in, then I only the use first one as I don't really know which hardware ID it belongs to..

There are folders which do not include txtsetup.oem, but the driver most likely needs the PnP entry and would bluescreen without it, example is \M\N\.

The only reliable way I could find to determine if that entry should be used, is to search the found INF file for the string "Parameters\PnpInterface". In some inf files there are spaces on that row, hence the string. I could not find any commented out such lines in all inf files, so it should be safe to search in the whole inf file for that string.

Mind you, some drivers, such as symmpi.sys list it in the inf file, but work just fine without it, meaning they support both legacy and pnp mode, unlike some other which would require that line:

http://forum.driverp...id=19997#p19997

http://forum.driverp...c.php?pid=30325

 

2) Is creating blank config section expected behaviour? Seems to not cause problems though. Got such when testing in VirtualBox with SCSI adapter (symmpi.*)

 

3) Maybe give user slightly more time (15?) to select default driver when several are found, that's a lot of info on screen for regular user to read and decide.

 

4)

::If DriverPack.ini file description has not WXP and has W2K/W2K3 then skip it

 

I think the proper way is to check for ms_X_exc_disableIfOS and ms_X_exc_skipIfOS values if possible. Many XP drivers do not include "WXP" in their description.

Maybe a good enhancement would be a switch to DPMS to include only drivers for particular OS, i.e. "DPMS.bat 2 WXP", or "DPMS.bat 1 W2K3".

 

5) TestDPMS2.g4b :

set TESTCASE="PCI\VEN_1095&DEV_3132"="3132R5C" ; D/M/SC "SI3132R5.sys" "Silicon Image 3132 SoftRaid5 for BIOS 7223"
echo CHECK SI3132R5.sys driver present
call :testit

Note 3132R5C and SI3132R5.

This results in:

default=reboot

 Another one:

set TESTCASE="PCI\VEN_11AB&DEV_6440"="SI3132B5" ; D/M/SB5 "SI31322.sys" "Silicon Image 3132 SATALink for BIOS 7405"
echo CHECK SI31322 driver present
call :testit

Here seems to be driver/service name mismatch as above.

 

Testing with DP MS 12.09 and dpms2.g4b 1.00 2013-07-04.



#36 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 12 July 2013 - 09:07 PM

Thanks

I will check it out

 

Can you just double-check - this entry ?? 11AB 6440 is M4 folder, SB5 folder is 1095 3132???

set TESTCASE="PCI\VEN_11AB&DEV_6440"="SI3132B5" ; D/M/SB5 "SI31322.sys" "Silicon Image 3132 SATALink for BIOS 7405"
echo CHECK SI31322 driver present
call :testit


#37 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

Posted 12 July 2013 - 09:13 PM

Can you just double-check - this entry ?? 11AB 6440 is M4 folder, SB5 folder is 1095 3132???

Yep, sorry, forgot to update hwid, should be "PCI\VEN_1095&DEV_3132", SB5. Still results in a different service/driver names.



#38 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 12 July 2013 - 09:25 PM

different service driver names is not a problem. The bits that must match are highlighted here

 

The only problem I see is the defaults section is set to scsi=(none) for PCI\VEN_1095&DEV_3132 ???

 

Edit: and also the file SilSupp.cpl is not copied across....



#39 steve6375

steve6375

    Platinum Member

  • Developer
  • 6747 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 12 July 2013 - 10:32 PM

The problem with the Parameters\PnPInterface was that some INF files had entries for both NT4 and NT5 and it is difficult to tell which entry is the one to use.

Also, I reasoned that if there is no txtsetup.oem and it needs one (and a Config section too) then surely that is a DriverPack problem/deficiency and should be fixed in the driverpack?

 

re. blank Config sections - it is only a problem if there was something in the driverpack txtsetup.oem which was not carried through into the DPMS2 F6 txtsetup.oem file - I think in one of the test cases there was a section which had lots of commented out lines in the  DriverPack txtsetup.oem..??

 

re. W2K3 v XP - that is not in scope (for now :-)

 

re. looking for XP in the name, what does 'skipifOS' 'replaceIfOS' and 'disableIfOS' mean? Not all entries have these - e.g. [AM] [AU]

 

A revised DPMS2 is attached which fixes a few issues mentioned.

 
Have you tried any of these for 'real' yet?
 
cheers
Steve
 
P.S. Just spotted that your second test case has a large Config section which got cut short due to typo bug - now fixed in v 1.01a!

Attached Files



#40 ilko

ilko

    Silver Member

  • Advanced user
  • 500 posts
  •  
    Bulgaria

Posted 12 July 2013 - 11:40 PM

 

different service driver names is not a problem

Reading the comments in the bat file I thought you were after iastor7.sys from DP.ini--> iastor service name from the inf file, must have taken it wrongly.

 

 

The problem with the Parameters\PnPInterface was that some INF files had entries for both NT4 and NT5 and it is difficult to tell which entry is the one to use.

Did you come across such reg entry which is present for NT4 and not for NT5?!

I will try to dig some more in the inf files. Do you recall an example file?

 

Also, I reasoned that if there is no txtsetup.oem and it needs one (and a Config section too) then surely that is a DriverPack problem/deficiency and should be fixed in the driverpack?

AFAIK DP and their DP_base do not deal with txtsetup.oem at all. I doubt proper support for txtsetup.oem.

 

 

re. blank Config sections - it is only a problem if there was something in the driverpack txtsetup.oem which was not carried through into the DPMS2 F6 txtsetup.oem file - I think in one of the test cases there was a section which had lots of commented out lines in the  DriverPack txtsetup.oem..??

Got this in VirtualBox machine, disks attached to SCSI controller, PCI\VEN_1000&DEV_0030, \M\L\ folder. None of the txtsetup(xxxx).oem files, if used at all, have that hwid, so wondered if there should be config section at all, since inf files are not searched for such entries.

 

 

re. looking for XP in the name, what does 'skipifOS' 'replaceIfOS' and 'disableIfOS' mean?

 

 

 

http://driverpacks.n...ack-massstorage :

 

Q:What does the entry "ms_1_exc_skipIfOS" mean?
A:The "ms_1_exc_skipIfOS" entry represents the operating system to which the driver(s) will not be slipstreamed.

 

For example:
ms_1_exc_skipIfOS= "w2k"
In this example the entry will prevent the specified driver from being slipstreamed into Windows 2000.


Q:What does the entry "ms_1_exc_disableIfOS" mean?
A:The "ms_1_exc_skipIfOS" entry represents the operating system in which the driver should not be included during textmode setup.

 

For example:
Ms_1_exc_disableIfOS= "w2k"

In this example the entry will prevent the specified driver from being loaded into memory during textmode setup when the OS is Windows 2000. After the slipstream completes the driver will be present in txtsetup.sif and dosnet.inf but the entry will be prefixed by a semi-colon which will cause setup to ignore that line and therefore the driver on that line.

Excluding a driver to be loaded during textmode setup can be quite useful. Windows 2000, for example, is very limited in the amount of memory that can be allocated for loading textmode drivers. So we can easily select some rarely used drivers to be "on hold" for text mode but still available to plug and play in windows afterwards. So far we have only needed to do this for windows 2000 and it is technically only supported for windows 2000, however, it is only a matter of time until this limit becomes a factor for XP and eventually 2003.

 

Q:What does the entry "ms_1_exc_replaceIfOS" mean?
A:The "ms_1_exc_replaceIfOS" entry represents the operating system in which the specified driver should replace an already existing driver.
Some operating systems already contain drivers for textmode setup by default.

 

For example:
Windows XP contains a driver called "Mylex AcceleRAID 160 Disk Array Controller".
This driver can be found in the I386 folder and it is named dac2w2k.sy_. If you want to overwrite this driver with a newer version you can use the following entry to tell the DPs_Base to overwrite the existing dac2w2k driver:
ms_1_exc_replaceIfOS= "wxp"

 

 

 

A revised DPMS2 is attached which fixes a few issues mentioned.

Going to play with it next few days, thanks.

 

Have you tried any of these for 'real' yet?

Tested complete XP setup in VirtualBox and Text mode until partition screen on two Dell machines- iastor2 and iastor7.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users