Jump to content

Slipstreaming Drivers


tommyp

Recommended Posts

Here's a little tutorial that was based off of a few other HFSLIP contributors. There are other ways to do it, but this method works for me (and it's the easiest). I'll try to keep this post updated if need be.

  1. Install a program called DriverMax (it's a freebee program).
  2. Run DriverMax and export all your drivers to a convenient folder.
  3. Locate all your post-windows drivers files as follows. Go through each of the folders and subfolders. Look for OEM#.INF files. The OEM signifies post windows installation driver files.
  4. Open the OEM#.INF file and look for the [sourceDisksNames] section. Put a semicolon(s) in the lines just after it. Right after the [sourceDisksNames] line, add this line:
    1   = "Windows CD",driver.cab,,"\I386"


    Please note that the 1 could be different, but just use the same number that was just semicoloned. Save the file.

  5. Rename that INF file to something descriptive, e.g. Video_Nvidia.INF or whatever you want. Don't use spaces in the filename.
  6. Create a folder called HFEXPERT alongside the HFSLIP.cmd. Inside HFEXPERT, create a folder called DRIVERCAB.
  7. Create another folder inside DRIVERCAB, e.g. Video_Nvidia. Don't use spaces.
  8. Copy the contents of the extracted driver folder from step 3 (i.e. renamed OEM#.inf file and all the other files except for that xml file) to the last created folder (e.g. HFEXPERT\DRIVERCAB\Video_Nvidia folder).
  9. When running HFSLIP, you'll need to select driver compression A, B or C.

See list below for some oddball errors I found, with working solutions.

  1. If you experience GUI setup of windows that complains that some files are missing, you need to populate the hfexpert/drivercab/insertnamehere folder with the missing files. I have found that the driver extraction programs aren't perfect.
  2. If you are using HFCLEANUP to remove windows drivers, you can also add them back in with HFEXPERT\DRIVERCAB\InsertNameHere. When doing this, you'll need to look for INF files that aren't called OEM#.INF. You have to be a little careful in reading the hfreducer title and the driver description for what to put back in. I am using hfcleanup and adding things back in. My drivers.cab file is 15 meg ;)

I have not verified this procedure for all scenerios so there could be errors. If there are errors, post here and I'll try to help. If need be, I'll updated this post to capture the important items.

Link to comment
Share on other sites


Yes, this is a nice way of slipstreaming drivers :)

Just wanted to add that the INF edits can be automated with daddydave's Drivercab Helper tool found here: http://www.freewebs.com/daddydave/drivercabhelper.htm

Also, keep in mind that when editing an INF, then WHQL driver signing is lost.

This dosen't neccesarilly mean a problem, but will however influence the rank that setup assigns the OEM added drivers, when selecting between msft provided drivers and oem added ones...

Link to comment
Share on other sites

  • 4 weeks later...

My thanks to tommyp for this tutorial.

I have not previously had the courage to try driver integration, but I tried this method on Win2k with some AGP and net drivers, and it seems to work nicely, so I may be slowly getting a hang of this.

I was also pleased to notice, that when I start with the original driver package using DriverMax to verify the right selection of files, but leave out the .cat file and comment out any reference to it in the inf, then after installation, Drivermax apparently can't tell any difference between the new drivers and other windows-supplied ones, as it did with the .cat reference intact. I may be wrong here, but it seems to me that DriverMax classifies them as signed by default.

Link to comment
Share on other sites

  • 3 weeks later...

Well, as far as I can see, this seems to work excellently for Windows 2000, and I was apparently able to integrate all the system, net, audio, video, and other drivers that I wanted. This includes fully working "2k-latest" Catalyst and Geforce drivers (with some additional inf editing).

However, moving on to XP SP3 I seem to have hit a brick wall. I get a nice install CD with all the driver files nicely A-cabinated and all the inf files in \I386 as they should. But on installation none of the new inf files get transferred to Windows\inf on the target system.

I have tried double checking that the drivers and inf files are valid, and I have even tried all the modified dll's prescribed for HFCLEANUP (RyanVM's & fdv's, though not simultaneously) to see if they might make a difference, but nothing gives.

Anyway, I am no expert on this and may well have missed something obvious or simple, but I am quite perplexed by so different an experience on 2k and XP. Any hints would be appreciated :) .

Edited by Inki
Link to comment
Share on other sites

Are you sure you named them as INF files?
Well, I didn't try to have the names capitalised, but they certainly were inf files. Maybe I should try that.

I tried quite a few things, going back to nothing but a plain XP SP3 source and just one or two drivers. Unfortunately I don't immediately have a representative log file available. I can come back to it, but I have a substantial turnaround time in doing these runs and just now I have some things pressing.

======== Some time passes ==========

Ok, attached now is the log file from a simple test case.

It contains two drivers, one is for the on-board modem on my old junky test rig, and the other is just a single inf file, that invokes the system-supplied usbstor.sys to create a USB-connection with my video camera.

Neither inf file gets copied to Windows\inf on installation. If I copy the inf files manually from the install CD to Windows\inf and then launch Device Manager to update the drivers, everything works fine, and the drivers get installed.

Could this be a case of XP refusing to cooperate with this method as a question of principle?

HFSLIPLOG.ZIP

Edited by Inki
Link to comment
Share on other sites

It seems that my troubles above are due to something being broken in 1.7.10 beta E. The problem vanished when I resorted back to 1.7.9, which I should have done earlier, as that was what I had used for 2k.

I compared the resulting SOURCESS directories from the two versions, and it turns out that files DOSNET.INF, TXTSETUP.SIF, and HFSLIPWU.INF have differing contents.

Anyway, I am pleased that my troubles apparently were nothing serious, as I am very happy with this method of slipstreaming drivers. My apologies for causing any unnecessary anxiety, and for messing this tutorial thread with what seems to be a beta issue after all.

Oh, and just to mention it: When adding new drivers, I am also making good use of HFCLEANUP to eliminate conflicting native ones. Still, I am progressing exteremely cautiously with that feature, and may hope to perhaps use it more once I get my favourite drivers in place.

Link to comment
Share on other sites

That's strange. I've ran a 2k source with the latest beta and the 1.7.9 and saw correct entries in both txtsetup. The order was different, but the contents appeared correct. Can you ZIP and post both versions of your txtsetup sif files?

Link to comment
Share on other sites

Both files have HSP56MR.INF = 1,,,,,,,20,0,0 & JVCDSC.INF = 1,,,,,,,20,0,0 in the [sourceDisksFiles] section, so they are getting copied. If in doubt, during the install when the hardware detection is happening, hit a ctl+f10 to bring up a dos box. CD to the windows\inf folder and dir a dir for your new inf files. I'll bet they are there. Are you sure you got the header correct in your inf file?

Just a dumb Q, but why not slipstream more stuff?

Link to comment
Share on other sites

Oh, I do slipstream more stuff. I merely reduced it to this test case for easier troubleshooting.

When I had a look comparing the two TXTSETUP.SIF files myself, I searched for what you pointed out, but I thought I found HSP56MR.INF = 1,,,,,,,20,0,0 & JVCDSC.INF = 1,,,,,,,20,0,0 under [FileFlags] rather than [sourceDisksFiles], on the last two lines of the file from 1.7.10 beta E.

Since I happen to have previous 1.7.10 beta versions, I tested them and noticed that I get this anomaly in TXTSETUP.SIF since beta A. Out of curiosity, I then compared the 1.7.9 and 1.7.10 beta A HFSLIP.CMD files, although I don't understand much about them. I did notice that "CALL :HFEDRVCAB" had changed location in the overall structure, and at great risk, not knowing at all what I am talking about, I wonder if that might have anything to do with it. Sorry, maybe I really should not have spoken about what I do not understand.

Hmm... On the other hand, if this were an issue that impacted XP since 1.7.10 beta A, it might be a bit strange, if I were the only one to encounter it. So, perhaps the wisest thing for me to do is to cease to mess this thread, and see if I can get my issue sorted over time.

Edited by Inki
Link to comment
Share on other sites

Stupid me, I saw the entry but didn't notice the sourcedisksfiles. The order of the hfcleanup driver removal and the hfexpert driver addition was reordered on the current set of 1.7.10 betas. The reason it was swapped was so a generic set of reducers could be used and the user can add files back in.

Thanks for the hfslip.log files, using that I was able to replicate the prob. This prob will only happen if you slipstreamed drivers and didn't use hfcleanup. If hfcleanup was used, this issue would not have happened. Keep an eye on the beta thread for a fix. Thanks!

Link to comment
Share on other sites

Wow, some coincidence then, that I ran into this while building up my set of slipstreamed XP drivers before adding HFCLEANUP to the setup.

Thank you very much for looking into it and clarifying what it is about. For me personally, it would be quite enough just to know that using HFCLEANUP neutralizes the effect. I hope that removing the issue fully does not end up being too cumbersome.

By the way, did I already mention, that I am very happy with this functionality overall. :)

Edited by Inki
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...