Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Integrating drivers with HFSLIP?

* * * - - 2 votes

  • Please log in to reply
79 replies to this topic

#1
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
There is a very simple method of integrating your drivers into Windows source with HFSLIP.
(Simple method of integrating SATA/RAID drivers could be found here.)

First step: preparing driver binaries.
All driver binaries should be in extracted format as if they are used for installation through OEM folder structure or like in Bashrat the Sneaky's drivers packs.
Most drivers that come in one EXE file could be extracted with archievers like WinRar. Or you can use Universal Extractor.
For finding right files among all extracted binaries and getting rid of some garbage I recommend using simple and great tool - Driver Compressor (but you have to extract cabbed files again after using it).

Second step: creating folders structure.
Create folder HFEXPERT in HFSLIP directory, go inside this folder and create the folder DRIVERCAB.
Place all your extracted driver files into DRIVERCAB (for later updates it's better to place drivers in separate subfolders like DRIVECAB\Modem, DRIVECAB\Sound, DRIVECAB\Video, etc.).

Comment:
What happens if there are files with the same names? You can rename them. I even advise you to rename INF according to the driver type: MYMODEM.INF, MYSOUND.INF, MYVIDEO.INF, etc. But if you rename other files from the packages you should try to rename all entries refferencing this file in an appropriate installation INF. This can be usefull for troubleshouting later problems with replacing some files with doublicated names in DRIVER.CAB too.

Third step: editing INF files.
We came to the most difficult part as it needs some manuall work. You have to open each INF in DRIVERCAB folder and search for the section [SourceDisksNames] or [SourceDisksNames.x86] and inseart right after it and before any line this code:
[SourceDisksNames.x86]
1   = %W2Kcd%,driver.cab,,"I386"
(For troubleshouting purposes I'd recommend change %W2Kcd% to drivers nature like VIDEO, SOUND, MODEM - in this case if any error occure you can see clearly which driver has a problem.)

Search for the section [SourceDisksFiles] and make sure all entries have '= 1' in it like:
[SourceDisksFiles]
file1.sys=1
file2.dll=1
Comment:
Some INF has a few SourceDisksFiles sections and you have to change them all or add all files to the one section with '= 1' part.


I confirm this method works with Windows 2000 Professional and FDV's fileset (maybe it needs Windows Files Protection Mode off) for a least a douzen drivers I used. I have not tried to follow it on other OS and without FDV's modified DLL yet. If you tryed this method with other OS and without WFP off please let us know your results.

Issues I had with this method (IMHO all is about of not "well-formed" installation INF files):
- Intel graphic driver asks for distribution CD but installs fine without providing it.
- My CDMA driver doesn't install (asks for CD too).

Edited by Oleg_II, 31 October 2006 - 09:49 PM.

Posted Image


How to remove advertisement from MSFN

#2
tommyp

tommyp

    MSFN Addict

  • Developer
  • 1,680 posts
  • OS:none specified
  • Country: Country Flag
Nice find Oleg. If you want, I can integrate this into the script. Report back if you have success with the drivers and I'll think of a nice method for using driver integration without intefering with file reduction. Please advise......
Posted Image

#3
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
TommyP :hello:
Just sent you a message about this. This method works! But it's not for every user because some INF editing is involved.

I've just have a thought: we may have a small database about drivers - which are easy to edit and which are more complex. Or I think if there are more successfull installation it would be better to introduce this method in Drivers section?
Posted Image

#4
tommyp

tommyp

    MSFN Addict

  • Developer
  • 1,680 posts
  • OS:none specified
  • Country: Country Flag
Maybe craft a webpage and ask FDV to host it? I'd like to put the codec and other info there too.
Posted Image

#5
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
Good idea! But we are all a little busy ;) I'll have a long hollidays at the end of January and may help with the site. And why placing to the Drivers Forum - let them know B) about HFSLIP of course :thumbup
Posted Image

#6
tommyp

tommyp

    MSFN Addict

  • Developer
  • 1,680 posts
  • OS:none specified
  • Country: Country Flag
Oh that drivers section. Sure, post it. I'm sure others will get mad that HFSLIP actually slipstreams this too. HAHAHA.
Posted Image

#7
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
Don't think it would be a "big thread" :rolleyes: because the method is only semi-automatic for those only who knows something about INFs and don't afraid of editing them. But it would be convinient to have one MYDRV.CAB with all drivers for the system. And for a few systems too - one CAB for systems with one type of hardware, other for the systems with different hardware. Just replace the files in the installation source and you are ready to go ;) Or just make one CAB for a few types of configuration...
Posted Image

#8
Tomcat76

Tomcat76

    MSFN Junkie

  • Developer
  • 3,174 posts
This is nice. I'd like to see it succeed.

WinXP Pro (English)

The following value in the .SIF file used by Setup is corrupted or missing:

Value 0 on the line in section [SourceDisksFiles]
with key "HFDRV.CAB."

Setup cannot continue.  To quit Setup, press F3.


This is what the bottom of TXTSETUP.SIF looks like:

[SetupData] 
[SourceDisksFiles]
[SourceDisksFiles]
[SetupData]
DriverCabName=HFDRV.CAB,driver.cab
[FileFlags]
HFDRV.CAB=16


I've modified HFDRV.CMD a bit, but that only consisted of removing the superfluous spaces before and after the arrows (> and >>). This is the relevant part:

ECHO INCLUDING HFDRV.CAB INTO TXTSETUP.SIF
REM I am not sure if it is needed but just in case...
echo DriverCabName>>txtsetup.log
findstr /v /b /i /g:txtsetup.log sourcess\i386\txtsetup.sif>txtsetup.sif
move txtsetup.sif sourcess\i386\txtsetup.sif
del /f /q txtsetup.log

ECHO [SourceDisksFiles]>>SOURCESS\I386\TXTSETUP.SIF
ECHO HFDRV.CAB	  = 2,,,,,,_x,39,0,0>>SOURCESS\I386\TXTSETUP.SIF
ECHO [SetupData]>>SOURCESS\I386\TXTSETUP.SIF
ECHO DriverCabName=HFDRV.CAB,driver.cab>>SOURCESS\I386\TXTSETUP.SIF
ECHO [FileFlags]>>SOURCESS\I386\TXTSETUP.SIF
ECHO HFDRV.CAB=16>>SOURCESS\I386\TXTSETUP.SIF

Posted Image
Real-time support (Yahoo Messenger): hfslip_tc76
Update lists for HFSLIP finals: Win2K SP4 (2008-04-10), WinXP SP3 (2008-06-11) and Win2K3 SP2 (2008-05-25).

Inexperience Patcher 0.7.1 * NoSoftwarePatents.com * My computer

#9
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
Tomcat76 :hello:
I only tried it on W2k an it works fine here :P I took the numbers from the original TXTSETUP.SIF for SP4.CAB. This file doesn't exist in HFSLIPed W2k so I thought I can use it ;)
Not sure which should be taken for XP. As far as I understand HFSLIP also merges SP*.CABs and DRIVER.CAB for XP? Maybe find out the info for these SP* in original file and try to combine?
Posted Image

#10
Tomcat76

Tomcat76

    MSFN Junkie

  • Developer
  • 3,174 posts
I just modified TXTSETUP.SIF manually to what it should be. I don't understand why the line isn't added.
I also cleaned some of "the bloat":

[SourceDisksFiles]
CMDOW.EXE = 1,,,,,,,1101,0,0;HFEXPERT
iuctl.cat = 1,,,,,,,1101,0,0;HFEXPERT
iuctl.dll = 1,,,,,,,1101,0,0;HFEXPERT
iuctl.inf = 1,,,,,,,1101,0,0;HFEXPERT
HFDRV.CAB = 2,,,,,,_x,39,0,0
[SetupData]
DriverCabName=HFDRV.CAB,driver.cab
[FileFlags]
HFDRV.CAB=16

(I added the reference to HFDRV.CAB in the [SourceDisksFiles] section created by HFSLIP and removed the empty [SetupData] and [SourceDisksFiles] sections.)

This allowed me to continue setup (second attempt), but somewhere near the end of the file copy stage, this message comes up:

Insert the CD labeled:
Windows XP Professional CD 2
into your CD-ROM drive

• Press ENTER when ready.

This is probably caused by the fact that this is inserted at the end of LAYOUT.INF:

[SourceDisksFiles]
[SourceDisksFiles]

This apparantly activates the "need" for CD2.


For some reason, these two lines in your CMD are not inserted into the relevant files:

ECHO HFDRV.CAB	  = 2,,,,,,_x,39,0,0>>SOURCESS\I386\LAYOUT.INF

ECHO HFDRV.CAB	  = 2,,,,,,_x,39,0,0>>SOURCESS\I386\TXTSETUP.SIF

Instead, an additional [SourceDisksFiles] section title is created.


So I don't think it's a Windows version problem... but I don't know what's causing this LAYOUT.INF/TXTSETUP.SIF editing to fail.
Posted Image
Real-time support (Yahoo Messenger): hfslip_tc76
Update lists for HFSLIP finals: Win2K SP4 (2008-04-10), WinXP SP3 (2008-06-11) and Win2K3 SP2 (2008-05-25).

Inexperience Patcher 0.7.1 * NoSoftwarePatents.com * My computer

#11
Tomcat76

Tomcat76

    MSFN Junkie

  • Developer
  • 3,174 posts
I think you need "= 1" for WinXP instead of "= 2".
1 = \i386
2 = \cmpnents\tabletpc\i386
Posted Image
Real-time support (Yahoo Messenger): hfslip_tc76
Update lists for HFSLIP finals: Win2K SP4 (2008-04-10), WinXP SP3 (2008-06-11) and Win2K3 SP2 (2008-05-25).

Inexperience Patcher 0.7.1 * NoSoftwarePatents.com * My computer

#12
Tomcat76

Tomcat76

    MSFN Junkie

  • Developer
  • 3,174 posts
Changing the "2" to "1" got me to the end of the file copy stage. A bit into the second stage (after the reboot), I get a fatal error.

I just went to take a look at the TXTSETUP.SIF file for Win2K, and the "= 2" is apparantly something special. Its XP equivalent is "= 100". I'm gonna try this now and see if it gets me any further.

Edited by Tomcat76, 30 December 2005 - 05:57 PM.

Posted Image
Real-time support (Yahoo Messenger): hfslip_tc76
Update lists for HFSLIP finals: Win2K SP4 (2008-04-10), WinXP SP3 (2008-06-11) and Win2K3 SP2 (2008-05-25).

Inexperience Patcher 0.7.1 * NoSoftwarePatents.com * My computer

#13
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
Tomcat76
One little note - I use FDV's fileset. Maybe that's the reason? (in modified DLL)

Edited by Oleg_II, 30 December 2005 - 06:32 PM.

Posted Image

#14
Tomcat76

Tomcat76

    MSFN Junkie

  • Developer
  • 3,174 posts
It's possible. I figured out that the "Fatal Error" is caused by editing LAYOUT.INF. If I use the original (unmodified) version, setup goes on to the end but then the drivers are not installed. I've never used FDV's fileset, but if I'm correct he employs a modded setupapi dot whatever which disables driver signing.
Posted Image
Real-time support (Yahoo Messenger): hfslip_tc76
Update lists for HFSLIP finals: Win2K SP4 (2008-04-10), WinXP SP3 (2008-06-11) and Win2K3 SP2 (2008-05-25).

Inexperience Patcher 0.7.1 * NoSoftwarePatents.com * My computer

#15
Gedrean

Gedrean

    Newbie

  • Member
  • 21 posts
I've got a question - I'm trying to figure out if this is the appropriate topic, because Fred Vorck referred me here and said Oleg was the expert in this idea.

I'm trying to set up a Win2k disc made with this process (HFslip and Fred's SP5 method) and I've got boards which have SATA (as well as a few SCSI and ATA) both controllers and raid setups. What I'm trying to do is figure out a way to make it so I DO NOT have to hit F6 to get the appropriate drivers loaded in via legacy floppy. What I'd like to do is include (in the commonly loaded drivers) the appropriate drivers for my boards such that my Win2k Pro install disc supports all my boards. What I mean by this is the textmode raid and sata drivers, not necessarily the OS level drivers for things like vid card etc.

That way, when setting up, all that has to be done after win2k is installed is to install appropriate extra drviers when prompted from CD. I could include all the appropriate win2k OS level drivers into the disc, but I don't want to add bloat of unneeded drivers to any of the systems. Plus, I usually tend to download the newest driver updates whenever I do any installs, so those parts integrated would serve no purpose as they'd be replaced and harder to deal with.

What suggestions can be made?

#16
Bugs Bunny

Bugs Bunny

    Junior

  • Member
  • Pip
  • 66 posts
@Gedrean:
You could follow the instructions here:
http://www.ntcompati...ad.php?id=25442
Scroll down to the post of zen69x
The thread is about XP but it just works fine for Windows 2000 as well.
I've integrated an adaptec U320 SCSI controller and now it works just fine for me without having to press F6.
This method works only for mass storage controllers I think.

I've tried Oleg II's method for a gf2_mx videocard driver and it gave me an error - one like Tomcat76 described. I'm not using FDV's file set. For me I got no success with Oleg II's method - maybe it only works with FDV's file set.

#17
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
I have a problem integrating drivers with last HFSLIP. But it works with a CMD file I've made to automate the process described in the first post. Investigating.

For your note (I got it somewhere in our Forum, sorry, can't remember in which topic):
 
I will post what I changed to get my Adaptec 2930U2 SCSI controller recognized during the install without having to use a floppy. I would imagine that the changes required for your device should be pretty similar.

First, what you will want to use the makecab utility found in the \winnt\system32 directory to make cab files of your .sys (driver) and .inf (setup) files. Mine were 2930U2.sys and 2930U2.inf which in turn became 2930U2.sy_ and 2930U2.in_ respectively. You will need to copy these files to the i386 directory that will be burned on your CD.

There are only 2 files that you will have to edit:

DOSNET.INF and TXTSETUP.SIF

Under DOSNET.INF I made the following changes:

[FloppyFiles.2]
I added:
d1,2930U2.sys

[Strings]
I added:
2930U2 = "Adaptec 2930U2 Ultra2 PCI SCSI Controller"

[Files]
(Be careful, there are two sections labeled this, you want the 2nd, it also has a very long list after it.) I added:
d1,2930U2.sys


Under TXTSETUP.SIF I made the following changes:

[SourceDisksFiles]
I added:
2930U2.inf = 1,,,,,,,20,0,0
2930U2.sys = 1,,,,,,3_,4,1

[HardwareIdsDatabase]
I added:
PCI\VEN_9005&DEV_0011&SUBSYS_01819005 = "2930U2"


[SCSI.Load]
I added:
2930U2 = 2930U2.sys,4

[SCSI]
I added:
2930U2 = "Adaptec 2930U2 Ultra2 PCI SCSI Controller"

The stuff in quotes is just a text string so nothing special there that I can tell. The only item I see that would be a problem is the PCI\Ven... etc. part. I got the value by opening the registry on a box that already had the adapter installed and went to the HKLM\System\ControlSet001\Enum\PCI key and searched through the values until I found the key that had the adapter that I was looking for.

Alternately, there was a similar setting in the .inf file that is provided with your hardware, I'm not sure if that would work, but I'd bet that it probably would. Mine showed PCI\VEN_9005&DEV_0011 vs. what I entered above.

Posted Image

#18
Electrician

Electrician

    Member

  • Member
  • PipPip
  • 113 posts
  • OS:XP Pro x86
  • Country: Country Flag
@oleg_II
You suggest modding the inf files using HFDRF, but your script creates MYDRV.
Also, your script needledly renames the compressed INF files to mydrvx. Or are you just renaming to keep track of the files added? Also, you include the inf files inside the cab file.
Is there some case where they are needed, because normally, they won't be read from inside the cab?.
(Or am I missing something?) None of the cab's included 'au natural' have the inf's inside. If naming the cab WAS enough, then I could move the inf's out of i386 to exist only in the cab. Would that work?

Anyway, I used your idea/technique and a modinfied form of your script to build a version that has my intel driver files in a cab {they used to exist individually as compressed files in i386}. -inf's outside-
The darn thing is 11MB 11.3 counting the inf files. :o

Works like a charm! :thumbup

#19
Oleg_II

Oleg_II

    Senior Member

  • Member
  • PipPipPipPip
  • 679 posts
Electrician
I have to modify my first post. Please use HFSLIP - it handles drive integration now and rename all MYDRV names to HFDRV in my instructions.

No reason for INFs in CAB. Just don't think they are worth deleted and I like all my drivers in one CAB just in case ;)

Still have issues:
- my CDMA modem is not installing at all (asks for distributive disk);
- Intel graphic driver asks for distributive disk too, but installs fine without providing it :wacko:

Edited by Oleg_II, 18 January 2006 - 09:29 PM.

Posted Image

#20
Electrician

Electrician

    Member

  • Member
  • PipPip
  • 113 posts
  • OS:XP Pro x86
  • Country: Country Flag
Oleg II,
I don't have any probs with intel installs. (always the VIA and AMD that are the pain).
I like hfslip, but prefer to keep some mods my own way.
I can add seperate mobo sets by using dif cabs, or leave off if I get squeezed for space. besides, I can update drivers sets if need be .
btw: You gotta have the inf files avail outside the cab. I tried with them ONLY in a cab and the install played stupid. figures.

#21
StormRage

StormRage

    Newbie

  • Member
  • 22 posts
Hi,

I am experiencing the following setback. Upon installation I receive the


The following value in the .SIF file used by Setup is corrupted or missing:

Value 0 on the line in section [SourceDisksFiles]with key "driver.cab."

Setup cannot continue. To quit Setup, press F3.


All drivers were extracted according to the [SourceDisksFiles] directive within each Driver's INF. Then copied to the HFDRV directory under HFSLIP. Each INF in the HFDRV directory were then manually edited to add
1. "1 = %W2Kcd%,hfdrv.cab,,"I386"" under the [SourceDisksNames] directive and
2. All files mentioned under [SourceDisksFiles] where amended to have the "= 1" at the end
e.g. e1000nt5.din = 1

This did not improve the problem, so I furthermore edited the Source TXTSETUP.SIF to add

1. Drivercabname=HFDRV.CAb,driver.cab under [SetupData] and
2. HFDRV.CAB=16 under [FileFlags]

This has allowed the reading of the HFDRV.CAB situated under \Sourcess\I386.

May I ask wether I am in the correct direction? :wacko: Getting there though...

Textsetup requires all INF's (and SYS files for NIC's) in the \386 folder

The newer HFSLIP solved the above problem.

Only the Intel Graphics Accelerator Drivers goes MIA on required files

HFSLIP is way kewl.

Thanks

Edited by StormRage, 21 March 2006 - 06:21 AM.


#22
januh

januh

    Newbie

  • Member
  • 18 posts
Hi folks!

Unforunetely I have to confirm the error mentioned above... I get the same message about missing value in .sif file. I've prepared HFDRV folder as Oleg said to. I tried installing from source with and witout fdv's file set. Txtsetup.sif files look the same in both cases:
(...)
[SourceDisksFiles] 
(Here is a loooooong list of files)

[SetupData] 
[SourceDisksFiles] 
HFDRV1.inf=1,,,,,,,20,0,0 
[SourceDisksFiles] 
HFDRV.CAB	  = 2,,,,,,_x,39,0,0 
[SetupData] 
DriverCabName=HFDRV.CAB,driver.cab 
[FileFlags] 
HFDRV.CAB=16
There are such lines in layout.inf from nonFDVed source, and not in FDVed one:
[SourceDisksFiles] 
HFDRV1.inf=1,,,,,,,20,0,0
Dosnet.inf is the same in both sources:
[Files] 
d1,HFDRV1.inf 
[Files] 
d1,HFDRV.CAB
Please help us with it! Best regards!

Btw. Am I wrong, or Oleg hasn't been visiting the board for a long time?

Edited by januh, 04 March 2006 - 04:55 PM.


#23
murvun

murvun

    Junior

  • Member
  • Pip
  • 76 posts
For hfslip_60307.cmd all is fine with HFDRV - folder. (example attached)Attached File  HFDRV.zip   61.81KB   298 downloads

the example includes only svga and mouse for vmware-machine... just for testing. editet as told in the former posts:

[SourceDisksNames]1 = %W2Kcd%,hfdrv.cab,,"I386"

display works fine, already while setup(gui). for the mouse setup selected the standard-ps/2-driver. vm-mouse was selectable as a new driver and works fine after restart...

don't wait for an other hfslipversion for solving your problems, solve your problems:
  • try one driver and then the next and then the next...
  • expand all the files with an underline in your hfdrv - folder (use 7zip or expand)
edit on august 2006: the HFDRV - folder is the same level as hfcabs, hf, source, ...
and HFDRV.CAB is only build if you have *.inf in your hfdrv-folder

Edited by murvun, 25 August 2006 - 02:17 AM.

Posted Image

#24
januh

januh

    Newbie

  • Member
  • 18 posts
Thanks guys! I hfsliped drivers with 60306 version succesfully :)

#25
tommyp

tommyp

    MSFN Addict

  • Developer
  • 1,680 posts
  • OS:none specified
  • Country: Country Flag
Whew. Glad this little plugin works. Kudos to januh for sending me his sample fileset so I could troubleshoot.
Posted Image




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN