Oleg_II Posted December 20, 2005 Posted December 20, 2005 (edited) 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=1file2.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 November 1, 2006 by Oleg_II
tommyp Posted December 20, 2005 Posted December 20, 2005 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......
Oleg_II Posted December 20, 2005 Author Posted December 20, 2005 TommyP 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?
tommyp Posted December 20, 2005 Posted December 20, 2005 Maybe craft a webpage and ask FDV to host it? I'd like to put the codec and other info there too.
Oleg_II Posted December 20, 2005 Author Posted December 20, 2005 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
tommyp Posted December 20, 2005 Posted December 20, 2005 Oh that drivers section. Sure, post it. I'm sure others will get mad that HFSLIP actually slipstreams this too. HAHAHA.
Oleg_II Posted December 20, 2005 Author Posted December 20, 2005 Don't think it would be a "big thread" 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...
Tomcat76 Posted December 30, 2005 Posted December 30, 2005 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=16I'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.SIFREM I am not sure if it is needed but just in case...echo DriverCabName>>txtsetup.logfindstr /v /b /i /g:txtsetup.log sourcess\i386\txtsetup.sif>txtsetup.sifmove txtsetup.sif sourcess\i386\txtsetup.sifdel /f /q txtsetup.logECHO [SourceDisksFiles]>>SOURCESS\I386\TXTSETUP.SIFECHO HFDRV.CAB = 2,,,,,,_x,39,0,0>>SOURCESS\I386\TXTSETUP.SIFECHO [SetupData]>>SOURCESS\I386\TXTSETUP.SIFECHO DriverCabName=HFDRV.CAB,driver.cab>>SOURCESS\I386\TXTSETUP.SIFECHO [FileFlags]>>SOURCESS\I386\TXTSETUP.SIFECHO HFDRV.CAB=16>>SOURCESS\I386\TXTSETUP.SIF
Oleg_II Posted December 30, 2005 Author Posted December 30, 2005 Tomcat76 I only tried it on W2k an it works fine here 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?
Tomcat76 Posted December 30, 2005 Posted December 30, 2005 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;HFEXPERTiuctl.cat = 1,,,,,,,1101,0,0;HFEXPERTiuctl.dll = 1,,,,,,,1101,0,0;HFEXPERTiuctl.inf = 1,,,,,,,1101,0,0;HFEXPERTHFDRV.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 2into 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.INFECHO HFDRV.CAB = 2,,,,,,_x,39,0,0>>SOURCESS\I386\TXTSETUP.SIFInstead, 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.
Tomcat76 Posted December 30, 2005 Posted December 30, 2005 I think you need "= 1" for WinXP instead of "= 2".1 = \i3862 = \cmpnents\tabletpc\i386
Tomcat76 Posted December 30, 2005 Posted December 30, 2005 (edited) 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 December 30, 2005 by Tomcat76
Oleg_II Posted December 31, 2005 Author Posted December 31, 2005 (edited) Tomcat76One little note - I use FDV's fileset. Maybe that's the reason? (in modified DLL) Edited December 31, 2005 by Oleg_II
Tomcat76 Posted December 31, 2005 Posted December 31, 2005 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.
Gedrean Posted January 1, 2006 Posted January 1, 2006 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?
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