Topic: Using DriverPack MassStorage to update xpscript folder on server

Hi all.

I have a couple of Windows XP 32bit scripted builds I deploy from a server. One for a development environment and one for a production environment.

My intention is to update these builds in order to ensure that they will boot any PC's regardless of the mass storage driver they require.

The planned steps:

1. Use DriverPacks base to slimstream the textmode and Mass Storage drivers into each scripted build on the server (ie., point at parent folders containing i386 folder, check mark DriverPacks MassStorage and DriverPacks MassStorage text mode in the "Select the DriverPacks to slipstream" window).
2. Ensure the other drivers I have already sourced for our hardware (eg., sound, video, etc) are included from xpscript\I386\$OEM$\$1\DRIVERS using spdrvscn /p c:\drivers /e inf /d C:\winnt\inf /a /s /q to push their path into the registry.
3. sysprep -clean
4. sysprep -bsmd
5. sysprep -mini -reseal -forceshutdown
6. Capture generic image for deployment.


My questions are:

1. Does my plan have any mistakes or obvious misunderstandings of how things work?

2. If an updated DriverPacks MassStorage for Windows XP comes out, can I just apply it again repeating these steps? (ie., are there any tricks, like a necessity to remove old drivers or edit any .inf files etc to clean up after the previous Driverpacks BASE run?)

2. If SP4 ever came out for Windows XP and I slipstreamed it into my scripted builds on the server, would I only need to repeat the process above to ensure that the new build worked and had support for all mass storage devices covered by the then current DriverPacks MassStorage?

Cheers,
Mark

Last edited by markhodgeNZ (2009-09-24 16:19:13)

Re: Using DriverPack MassStorage to update xpscript folder on server

Skip the BSMD...

if you slipstream the mass drivers the Text Mode drivers will behave as if included by MS themselves wink No further action is required. Aside from setting hdd controler type to standard before your last shutdown to image.

The preferred method of doing this is to use Galapo's OffLine SysPrep...

Because of the PnP drivers

DriverPacks BASE method would require the additional step of SAD (Stand Alone Drivers, for software first installs) for the PnP drivers
Advantage - all packs can be run against the target and all hardware will be updated with current drivers
or you could include the mass pack with your step 2.

OffLine SysPrep will include both text mode and PnP mass storage drivers
Advantage OLSP will add registry settings to the Hive to address some reported issues that DriverPacks BASE does not address (edge cases).
OLSP is specificaly designed to be used for sysprep wink

a combination is best... OLSP then SAD M2
(SAD M2 Replaces step two in your example)

Moving this to the proper forum
org = DriverPack MassStorage
target = Universal imaging

Please take a moment to review the over five years of Q and A contained here in the UI forum...
There is a wealth of experience and knowledge.

Welcome to DriverPacks.net

Have a great day!

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Using DriverPack MassStorage to update xpscript folder on server

I'm just about going nuts trying to get a universal system. No matter what I try I invariably end up with a system that goes into a reboot loop sad

Before I spend any more time on this, can anyone tell me if what I am trying to do actually possible with DriverPack MassStorage?

ie., I want to use it to make a scripted Windows XP SP3 build deployable regardless of the Mass Storage device in the target hardware. I'm not concerned about other drivers such as audio, video etc as I have them working fine.

Is this what DriverPack MassStorage is aimed at?

Cheers,
Mark

Last edited by markhodgeNZ (2009-09-25 18:13:19)

Re: Using DriverPack MassStorage to update xpscript folder on server

Yes it is possable...


Yes that is what DriverPack MassStorage is aimed at...


and there is more than one good way to do it...

BSMD is not one of them... I could write several pages on why this is the case... please don't make me.

OffLine SysPrep is the best, easiest, most versital way to add DriverPack MassStorage to a sysprep image...
if you go that route 999 out of 1000 machines HDD controlers will be recognized.
(when you trip over machine 1000 let us know and we will add that driver to DriverPack MassStorage too! wink)

it will simplify some of the process you are doing and eliminate many of the issues you are or may be having completely, reboot loops and with HAL selection and and and...

Please...
http://forum.driverpacks.net/viewtopic. … 147#p32147
http://www.911cd.net/forums//index.php?showtopic=22064

I would try that first... on a clean image
  forget other drivers, as you said, and any other post deploy routines, and add them back later.

I think you will be pleasantly surprized after a few successful tests.

If you poke around a little you will find i am not a fan of sysprep at all, But we have several dozen hard core SysPrep gurus on the team... if you get stuck one of them will step in here and save you, I promise!

Jeff

PS We are here so you don't have to maintain your own driver repository wink tongue big_smile

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Using DriverPack MassStorage to update xpscript folder on server

Thanks Jeff - I needed that encouragement after this week smile

I'll give it a shot on Monday (it's Friday evening here as I post).

Cheers,
Mark

Re: Using DriverPack MassStorage to update xpscript folder on server

Argh.

I'm not having much luck getting Offline Sysprep and DriverPack MassStorage to create a bootable image.

My steps are:

Set up two virtual machines.
Script build the first virtual machine with the latest scripted Windows XP SP3 build we have, and make a copy of this virtual machines hard disk.
Mount the copy of the hard disk on the second virtual machine (which we'll call ImageDev) as a D:\ drive

Download the current version of OfflineSysprep from http://www.911cd.net/forums//index.php?showtopic=19397 to ImageDev and save in C:\
Download DevCom from http://support.microsoft.com/kb/311272 into the OfflineSysprep folder
Download the most recent DriverPack MassStorage for XP from http://forum.driverpacks.net/index.php expand into the OfflineSysprep folder using 7-zip freeware. Rename root folder of expanded DriverPack MassStorage to DriverPack-MassStorage.
Copy our current sysprep folder into the OfflineSysprep folder
Remove the [SysprepMassStorage] section's contents (leave the header line [SysprepMassStorage])

Run OfflineSysprep.
Select D:\WINNT, Administrator account, and D:\DRIVERS (contains my usual drivers for the machines we have). Apply.
Capture D: using imagex.
Apply image to a test machine (VIA chipset I think).

Result: the same reboot loops I've been getting with all other methods apart from directly scripting the machine, and the second virtual machine is broken saying system32\Drivers\Ntfs.sys is corrupt!!

Any ideas or a recipe for using Offline Sysprep, because I'm obviously doing something very wrong sad

Cheers,
Mark

Re: Using DriverPack MassStorage to update xpscript folder on server

I think i know what the problem is... but don't quote me since I'm just guessing.

(I just don't have the time to waste torchering myself like you crazy sysprep guys.)

I don't see anywhere in the directions where is says anything about extracting a mass storage pack??? (so why did you?)
I believe you are trying to make it harder than it is. by shooting yourself in the foot right out of the chute.

let offline sysprep stage mass storage...
Don't do anything manually and don't add your drivers wink (KISS method)
follow the directions to the letter FIRST... then experiment wink

I can explain this in excruciating detail but lets keep it simple
- Galapo does not use the drivers in the pack. (at least not in their raw state as they exist in the pack)
- DriverPacks BASE has a feature to create a BartPE MS plugin from our DriverPack MassStorage pack...
     the generated plugin folder is remarkably different than what is in the DriverPack MassStorage archive smile
     the pack and the plugin cannot coexist (they overlap in a cataclysmic fashion - Since providers can not write drivers correctly))
- If you mess with the delicate balance of drivers=hwids at all after OLSP you absolutely will cause failure
        (don't extract DriverPack MassStorage and don't do anything else with it either... or you are going to be fighting with this forever)
    (don't add your own mass drivers or any DriverPacks packs or sysprep BSMD or ANYTHING else) It is also very likely that your home made driverpack is causing a conflict and cascaded failure with mass storage (get your source working with just mass, then play with adding your drivers back. Or alternately you could simply use our DriverPacks.

HINT:
NEVER EVER give your root driver folder a name longer than one character. big_smile
hint, hint, it has something to do with exceeding max path lengths. IE 100 subfolders now each one has an additional say 15 extranious letters, 1500 characters burned out of your precious maximum of 2048. Same senario with a single letter folder. 100 x 1 100 thus we have saved 1400 bytes we can now use for more driver folders to search. so don't name your root folder \DRIVERS tongue THis costs you  6 X (the number of subfolders you have in /drivers/) = X  > more than > if you use just \D\

Theory...

1 Offline sysprep stages drivers correctly...
2 you add extracted DriverPack MassStorage to search path
    result over 2000 duplicated HWIDS and hundreds of duplicate file names (last file written wins!)
    - SysPrep can not handle conflicting HWIDs Not even a single duplicate is tolerated (same for file names)
    Shot yourself in the foot.
3 you add your pack
   result adding hundreds or even thousands of additional HWID conflicts.

End result

   Machine won't boot (ever)

Look, if it were easy (that somone could just dump a bunch of drivers into a folder and it would then work) we would not get a million downloads a week wink
We pool our recources and our diverse range of experience here and at our sister sites like 911 and UBCD4Win and MSFN and SiginetSoftware etc...
so that all our lifes can be easier... no need to 'reinvent the wheel',  just ask and whe will find you a wheel in exactly your size wink

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Using DriverPack MassStorage to update xpscript folder on server

OverFlow wrote:

I think i know what the problem is... but don't quote me since I'm just guessing.

(I just don't have the time to waste torchering myself like you crazy sysprep guys.)

I don't see anywhere in the directions where is says anything about extracting a mass storage pack??? (so why did you?)

When you extract OfflineSysprep it has a lovely file in it's directory saying to put "DriverPack-MassStorage" folder into that location, and since DriverPack MassStorage comes as an archive I dutifully expanded it there and gave it that name. I didn't actually notice any documentation/directions as such included with OfflineSysprep.

So what I gather is that you use DriverPacks BASE to create a plugin which you then incorporate into a BartPE disk (or on the image?) onto which you have preinstalled OfflineSysprep and a downloaded copy of devcon (http://support.microsoft.com/kb/311272)? I used a live copy of Windows with the volume to be sysprepped attached as a second disk - is that supported or not?

Actually, it would be nice if someone wrote up a nice step by step for using Offline Sysprep, because I imaging a lot of people would just give up and go back to adding drivers manually (I'm most of the way through documenting how to do this for my team in case I give up too). It feels a little hit and miss at the moment sad

Cheers,
Mark

Re: Using DriverPack MassStorage to update xpscript folder on server

markhodgeNZ wrote:

I didn't actually notice any documentation/directions as such included with OfflineSysprep.

Please look a little harder, viz. at the OfflineSysPrep.htm file.

Regards,
Galapo.

Re: Using DriverPack MassStorage to update xpscript folder on server

Hey Galapo,
I was hoping somebody would save me from drowning!

Thanks!

I did not know that OLSP would work from windows too...

thinking, very cool... a machine with two hard drives w/bios select boot device...
that could be slick. its the workhorse and the source and deployment tester in one   

So the !put 'DriverPacks-MassStorage' folder here! instruction refers to copying them from DriverPacks BASE generated BartPE plugin folder...
I see there is a whole paragraph on this in your instructions and you link to my BartPE tutorial too (blushes)
i found the OfflineSysPrep.htm file in the same folder as !put...
Maybe it would be better to be named OfflineSysPrep-Instructions_En.htm smile or even ReadMe.htm LOL

Thanks again for stopping by

You're a DriverPacks hero!

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Using DriverPack MassStorage to update xpscript folder on server

Galapo wrote:
markhodgeNZ wrote:

I didn't actually notice any documentation/directions as such included with OfflineSysprep.

Please look a little harder, viz. at the OfflineSysPrep.htm file.

Regards,
Galapo.

I'm sure this is a good tool, but I can't get much joy out of it yet. I'm putting it down to not knowing exactly what is required to get it going, rather than any fault in the program itself. It's a fairly steep learning curve without a detailed manual.

I've included the step-by-step recipe I'm putting together below. The end result is still the endless reboot loop so I would be quite keen on feedback as to whether there is any particular step or assumption I'm making that is incorrect. My guess is that I'm doing everything right until the final section "Using Offline Sysprep". If I can get this all going I'll generalise my recipe and posted it back here. I have a workaround of building the image on the target for redeployment to matching hardware, but would much rather end up with a system that can deploy to anything DriverPacks MassStorage has included. Drivers such as sound and video can always be added later.

The machine the scripted build is run on is a HyperV virtual machine (ACPI Uniprocessor HAL) and the test target has a VIA chipset motherboard (ACPI Multiprocessor HAL, ASUS board, probably about 2 or 3 years old, don't have it at hand to confirm the motherboard model number).




My "guide":

Step-by-step how-to for creating a universal Windows XP SP3 32bit (x86) from an existing scripted build utilising a HyperV development machine, DriverPacks, PEBuilder, devcon, 7-zip, and OfflineSysprep:


Setting up your image and virtual machine:

1. Build a HyperV virtual machines from your scripted build.
2. Shut it down once done.
3. Make a copy of the virtual machine's virtual hard disk file.
4. Connect the copy to the HyperV machine as a second disk.

You could do this without a virtual machine, eg., by setting up a machine, and cloning the disk to a second partition by booting from alternate media. It's just more cumbersome.


Downloads:

1. Download Offline Sysprep from http://www.911cd.net/forums//index.php?showtopic=22064 (currently using OfflineSysPrep-v1.10.0.7.rar)
2. Download 7-zip from http://www.7-zip.org/ (currently using 4.65)
3. Download pebuilder310a.zip (BartPE in a ZIP file) from http://www.nu2.nu/pebuilder/ (currently using 3.1.10a)
4. Download DriverPack MassStorage from http://driverpacks.net/driverpacks/wind … ss-storage (currently using Jan 9,2009 Windows 2000/XP/2003 x86 version 9.01)
5. Download DriverPacks BASE from http://driverpacks.net/applications/latest (currently using version 8.12.5)
6. Download the devcon package from http://support.microsoft.com/kb/311272


Expanding archives:

1. Install 7-zip.
2. Right click on OfflineSysPrep-v1.10.0.7.rar, select "7-zip\Extract to OfflineSysPrep-v1.10.0.7"
3. Right click on pebuilder3110a.zip, select "7-zip\Extract to pebuilder3110a"
4. Right click on devcon.exe, select "7-zip\Extract to devcon"
5. Right click on DPs_BASE_8125.exe, select "7-zip\Extract to DPs_BASE_8125"


DriversPack BASE:

1. Drag the DriverPacks MassStorage 7z file (currently DP_MassStorage_wnt5_x86-32_901.7z) into the DriverPacks directory inside the DPs_BASE_8125 directory you created in the previous step.
2. Run DPs_BASE.exe from the DPs_BASE_8125 directory.
3. Select Settings\Location from the left side of the window pane.
4. Select BartPE as the installation platform.
5. Select Settings\Location from the left side of the window pane. Again.
6. Click the Browse button and select the plugin folder of your pebuilder3110a folder.
6. DriverPacks will now be listed under Settings\Location in the left window panel.
7. Make sure ONLY DriverPack MassStorage text mode is selected here.
8. Click the Slipstream button at the lower left of the Window.


Preparing to use Offline Sysprep:

1. Copy devcon\i386\devcon.exe to OfflineSysPrep-v1.10.0.7\UnderWindows\tools\devcon.exe
2. Run CreateMassStorageData.exe from OfflineSysPrep-v1.10.0.7\BartPE\OfflineSysPrep and select your pebuilder3110a\plugin\DriverPacks.net folder.
3. DriverPacks-MassStorage  will be created in OfflineSysPrep-v1.10.0.7\BartPE\OfflineSysPrep.
4. Copy DriverPacks-MassStorage folder to OfflineSysPrep-v1.10.0.7\UnderWindows.
5. Copy your sysprep folder contents to OfflineSysPrep-v1.10.0.7\sysprep


Using Offline Sysprep:

1. Run OfflineSysPrep-v1.10.0.7\UnderWindows\OfflineSysPrep.exe
2. Select the Windows partition of your offline Windows partition.
3. Under Select User Profile, selected administrator                                    -    (for what? default user? doing something specific?!?)
4. Select AUTO configuration under Select HAL update option                      -    (okay for ACPI Uniprocessor source to ACPI Multiprocessor target?)
5. Click Apply.
6. Sysprep:


- removed the OemPnPDriversPath and [MassStorageDrivers] from sysprep.inf file whilst testing (left header - required or not?)
- confirmed c:\winnt\Driver Cache\i386 contains driver.cab and sp3.cab etc (ie., for Windows XP SP3).

Tried:

Checked Use Mini-Setup, then clicked Reseal.

Tried:

Detect non-plug and play hardware, then click Reseal.

WHAT SETTINGS FOR SYSPREP?!?


6. Capture to a share using imagex, deploy to target using imagex. Result: REBOOT LOOP.

Re: Using DriverPack MassStorage to update xpscript folder on server

markhodgeNZ wrote:

1. Run OfflineSysPrep-v1.10.0.7\UnderWindows\OfflineSysPrep.exe
2. Select the Windows partition of your offline Windows partition.
3. Under Select User Profile, selected administrator                                    -    (for what? default user? doing something specific?!?)
4. Select AUTO configuration under Select HAL update option                      -    (okay for ACPI Uniprocessor source to ACPI Multiprocessor target?)
5. Click Apply.
6. Sysprep:

I see no steps where you injected mass storage drivers. Click 'Advanced' on the OfflineSysPrep interface and select desired option, in your case probably 'Install all DriverPacks non-IDE mass storage Device(s)'.

Regards,
Galapo.

Re: Using DriverPack MassStorage to update xpscript folder on server

Galapo wrote:
markhodgeNZ wrote:

1. Run OfflineSysPrep-v1.10.0.7\UnderWindows\OfflineSysPrep.exe
2. Select the Windows partition of your offline Windows partition.
3. Under Select User Profile, selected administrator                                    -    (for what? default user? doing something specific?!?)
4. Select AUTO configuration under Select HAL update option                      -    (okay for ACPI Uniprocessor source to ACPI Multiprocessor target?)
5. Click Apply.
6. Sysprep:

I see no steps where you injected mass storage drivers. Click 'Advanced' on the OfflineSysPrep interface and select desired option, in your case probably 'Install all DriverPacks non-IDE mass storage Device(s)'.

Regards,
Galapo.

Thanks Galapo.

I selected "Install all DriverPacks non-IDE mass storage Device(s)" in the Advanced window and the target comes up dead with the "system32\Drivers\Ntfs.sys is corrupt" message.

When OfflineSysPrep launches SysPrep, are there any specific settings that are needed to get this working? (I'm selecting Mini Setup and PnP then clicking Reseal).

Alternately, has anyone here been successfull using Offline Sysprep, and put a step-by-step guide together on how you did it, or even a help file that documents known errors, their cause, and workarounds?

Cheers,
Mark

Re: Using DriverPack MassStorage to update xpscript folder on server

it is my belief that now the problem is you have included more than the maximum allowed drivers (you have run out of RAM)
Remember our path and other environment variables have half the space they do for normal window operations and installation...

If i am right the correct and most acceptable fix is to include fewer drivers. however if you have an extra 2k3 licence to burn you can use the file from that OS... Each OS has a higher amount of RAM that can be utilized for this... IE win 2k has the least XP has more 2K3 a little more Vista even more etc. So the alternate fix is to burn a 2K3 licence so you can use the newer NT 5.2 version of our problem file. Some users have argued that since this file is included with SP2... IDK about that, it's too much of a grey area for me. If you are in the situation of having site licencing or simply have an extra 2k3 license to dedicate for this then you should be covered. smile


If it is what i think it is...
then this issue is documented at MSFN and I thought was google-able but did not find what i was looking for...

Perhaps one of the guys has a link handy for us... That is, IF i have guessed corectly wink

PS i assume you ruled out a bad copy wink

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Using DriverPack MassStorage to update xpscript folder on server

ntfs.sys error is due to memory breach. You either need to update ntldr from 64-bit xp etc. or inject fewer drivers (see the user_settings.ini file to do this).

Regards,
Galapo.

Re: Using DriverPack MassStorage to update xpscript folder on server

Galapo wrote:

ntfs.sys error is due to memory breach. You either need to update ntldr from 64-bit xp etc. or inject fewer drivers (see the user_settings.ini file to do this).

Regards,
Galapo.

Okay. Using ntldr from a different version of Windows XP wasn't a path I wanted to go down so I tried removing unused drivers using:

[disable_drivers]
3*=disable
a*=disable
m*=disable
si3*=disable

(since the target is using viachip set this should be fine, right?)

Which brings back the reboot loop sad


Has ANYONE here managed to get Offline Sysprep working?

Could you post your Sysprep.ini file, user_settings.ini file, and what steps you used?

Cheers,
Mark

Re: Using DriverPack MassStorage to update xpscript folder on server

markhodgeNZ wrote:

Which brings back the reboot loop sad

I would say you've got an issue with your image, not necessarily with injection of mass storage drivers.

markhodgeNZ wrote:

Has ANYONE here managed to get Offline Sysprep working?

Yes, I have. ilko has who did numerous tests for me for the HAL development. Like I said, it may be a problem outside of the mass storage drivers.

markhodgeNZ wrote:

Could you post your Sysprep.ini file, user_settings.ini file, and what steps you used?

My working settings are as in the supplied download. Of course, I replace ntldr. But my guess is that if you were to do that, you may find the reboot sequence happening again anyway.

Regards,
Galapo.

Re: Using DriverPack MassStorage to update xpscript folder on server

Galapo wrote:
markhodgeNZ wrote:

Which brings back the reboot loop sad

I would say you've got an issue with your image, not necessarily with injection of mass storage drivers.

markhodgeNZ wrote:

Has ANYONE here managed to get Offline Sysprep working?

Yes, I have. ilko has who did numerous tests for me for the HAL development. Like I said, it may be a problem outside of the mass storage drivers.

markhodgeNZ wrote:

Could you post your Sysprep.ini file, user_settings.ini file, and what steps you used?

My working settings are as in the supplied download. Of course, I replace ntldr. But my guess is that if you were to do that, you may find the reboot sequence happening again anyway.

Regards,
Galapo.

Right. It's from a basic scripted build, but I"ll see if there is anything that can be further generalised tomorrow.

I'm keen on hearing from anyone else that has managed to get this going - in the hope someone has documented how they did it. At the moment I feel it's too hit and miss and I don't want to spend another week banging my head against the wall trying to get a "universal" build.

Hopefully the answers on this thread save someone else a bit of time.

Cheers,
Mark

Last edited by markhodgeNZ (2009-10-01 15:56:55)

Re: Using DriverPack MassStorage to update xpscript folder on server

See here for details on building a reference image, also a good method of deployment: http://pantherxp.net/

Regards,
Galapo.