Jump to content











Photo
- - - - -

Success - Integrating dummy.sys into LiveXP - BootSDI


  • Please log in to reply
78 replies to this topic

#1 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 17 August 2009 - 09:50 AM

First of all, I would like to thank all the experts who are posting here. I have been able to build my mutli-boot multi-tool USB with help from here.

While I am able to use dummy.sys on the Windows XP on hard disk, I haven't had much success in using it with LiveXP, especially the RAM based one, as a reboot is necessary and the LiveXP doesn't remember anything from the previous boot.

I have finally been able to get LiveXP to recognise the USB stick as a hard disk (when connected while booting) using the dummy.sys filter driver. I have done this by modifying the USBSupport (Drivers\4 Storage) script from Radoi Ovidiu. We can also possibly make this a separate script with a dependency on the USBSupport script.

I thought I will share it with everyone, as I have not noticed much discussion on integrating dummy.sys into livexp. I can share the modified USBSupport script, if it is of interest - though the script needs some polishing (interface), before it can be shared :frusty: . Also, I need to figure out a way to make it easy for the user to download dummy.sys (which I am not including in the script - as jaclaz would agree). I am a noob as far as winbuilder scripting is concerned.

Thanks to all, again.

Update: Latest version is available for download within Winbuilder (LiveXP project).

Renamed the file by adding a v in front, to prevent execution order issues, as this should run 'after' USBSupport.script.

Changed the dependency because of change in the name of USBSupport.script. Script file renamed to vUSBDummyDisk.script.

With further change in RemovableDevicesCombo (old USBSupport), new version is needed.

Clarification in view of some confusion:
This script is to enable (LiveXP or nativex or whatever) seeing multi-partitioned USB sticks as hard disks with all the partitions, not to make multi-partitioned USB stick; though you can use a LiveXP built with this script to make 'other' multi-partitioned USB sticks. Also, the livexp itself might be installed on the second or later partition and the USB stick the livexp is installed on has all partitions visible when the livexp boots. It works for all brands - no need to modify for each vendor.


Latest version (7) of the script is attached here:

Attached Files



#2 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 17 August 2009 - 11:22 AM

First of all, I would like to thank all the experts who are posting here. I have been able to build my mutli-boot multi-tool USB with help from here.

While I am able to use dummy.sys on the Windows XP on hard disk, I haven't had much success in using it with LiveXP, especially the RAM based one, as a reboot is necessary and the LiveXP doesn't remember anything from the previous boot.

I have finally been able to get LiveXP to recognise the USB stick as a hard disk (when connected while booting) using the dummy.sys filter driver. I have done this by modifying the USBSupport (Drivers\4 Storage) script from Radoi Ovidiu. We can also possibly make this a separate script with a dependency on the USBSupport script.

I thought I will share it with everyone, as I have not noticed much discussion on integrating dummy.sys into livexp. I can share the modified USBSupport script, if it is of interest - though the script needs some polishing (interface), before it can be shared ;) . Also, I need to figure out a way to make it easy for the user to download dummy.sys (which I am not including in the script - as jaclaz would agree). I am a noob as far as winbuilder scripting is concerned.

Thanks to all, again.

Very good work! :frusty:

Can you post your script here or PM me, what you prefer.

I'll try to integrate into nativeEx and deliver as 'official'.

Then it can be used for all nativeEx based projects like NaughtyPE, LiveXP, nativePE.

BTW: I prefer to have an addon script which refers to an unchanged USBSupport script.

Peter

#3 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 17 August 2009 - 11:31 AM

Thanks, Peter.

I will separate the script, add some interface, test it and post it, perhaps tomorrow. Still need to figure out how to add the dependency check.

I am planning to just add a link (need to figure this out too) to the dummydisk download, as I am not sure if dummydisk.sys is redistributable or not (I remember registering to download it). Will provide an option to specify where the dummy.sys is located. Please advise if there is a better way. Thanks.

#4 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 17 August 2009 - 11:55 AM

Thanks, Peter.

I will separate the script, add some interface, test it and post it, perhaps tomorrow. Still need to figure out how to add the dependency check.

I am planning to just add a link (need to figure this out too) to the dummydisk download, as I am not sure if dummydisk.sys is redistributable or not (I remember registering to download it). Will provide an option to specify where the dummy.sys is located. Please advise if there is a better way. Thanks.

All you explained sounds well. :frusty:

Whenever you have a question to WinBuilder Syntax, Script commands etc. do not worry to ask

(see at the last line of my signature).

Peter

#5 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 17 August 2009 - 12:21 PM

Could someone please explain to me, what's the deal with dummy.sys, so that i can be excited too. ;)

:frusty:

#6 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 17 August 2009 - 12:32 PM

Thanks oriensol,
waiting your script :frusty:

#7 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 17 August 2009 - 12:47 PM

Just for the record, and NOT AT ALL to put oriensol down :unsure:, cfadisk can be made not-hardware-dependent, see here:
http://www.msfn.org/...o...26868&st=12
in a XP install, so I guess that exactly the same can be done in a PE.

About the redistributability of dummydisk.sys, it's Author, Anton Bassov :frusty: has stated it is re-distributable (as well as the "reversed" rdummy.sys part of the "Install XP from USB"), so this is one of the cases where there is no problem in redistributing it inside a .script.
As always, and even if not required, mentioning him would be nice.

;)

jaclaz

P.S.:
@Medevil:
http://www.codeproje...ct_hooking.aspx

#8 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 17 August 2009 - 02:07 PM

Thanks a lot jaclaz, as usual you are bang on. Thanks also for the clarification regarding the redistribution part. That will make it easier for me.

I fully understand where you are coming from when you referred to the post. The post by cdob that you referred to is what started me off on this recently.

I preferred the dummy.sys approach for the following reasons:

1. This turned out to be quite simple - no editing of disk.inf - (as you can see from the script when uploaded; I should upload this soon, if at all needed). In addition to what is already well known, I have just added a few lines of registry entries and two lines of changes in txtsetup.sif (similar to the ones in cdob's post) and inspired by the USBSupport.script.

2. I saw somewhere about GenDisk also applying to USB hard disk and I thought this would be a safer approach.

If you think it is not worth it, I will not upload the script. I thought this was simple enough and also probably useful.

#9 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 17 August 2009 - 02:39 PM

If you think it is not worth it, I will not upload the script. I thought this was simple enough and also probably useful.

Sure it is worth it, AND useful. :)

Please DO share your .script.

:whistling:

jaclaz

#10 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 17 August 2009 - 02:43 PM

I guess that exactly the same can be done in a PE.

Historically it's the other way round: the cfadisk PE solution was created first:
http://www.911cd.net...&...st&p=142544
USB generic hardware ID "USBSTOR\GenDisk" was mentioned back then.

@oriensol
Post your dummy.sys script. It's always nice to have a second choice.

#11 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 17 August 2009 - 04:20 PM

I am attaching the script.

Assumptions:

1. USB stick is plugged in at boot time. Otherwise, the explorer doesn't show up the partitions, though everything else works.

2. Should be in the same script directory as USBSupport.script. Have added the dependency.

3. Default value of selected is false, so that the check for USBSupport is enforced when selected.

Please test, review and suggest improvements. Thanks.

Update: Latest version of the script moved to the first post. Please download from there.

#12 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 17 August 2009 - 08:10 PM

[InputDevicesSupport.Load]
usbstor=dummy.sys
...
usbstor=usbstor.sys

Your are crazy.
It works, therefore you are not crazy, you are clever or clever crazy.
Welcome to the club, we are all crazy here :whistling:
Thanks for sharing. Continue the good work.

At first glance, txtsetup.sif should be sufficient, no need for registry addon.

Not tested, did you tried with enabled usb_keyboard_mouse_hotplug.script?
Did you add registry settings because of this?

#13 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 17 August 2009 - 09:10 PM

Thanks cdob.

I am not an expert. I just wanted to make sure all the registry changes after the reboot on the regular XP are there when the LiveXP starts booting to simulate a similar situation.

I have tested WITH the usb_keyboard_mouse_hotplug.script. It works.

Did it work (or more importantly not work) for anyone when you tested it? Feedback appreciated.

#14 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 18 August 2009 - 09:18 AM

After testing I uploaded into the nativeEx_barebone project.

@oriensol, please allow me one change.

I changed the boot-time registry update to build-time registry update by WinBuilder script lines.

First brings that (theoretically) a faster boot, and second have some users some security concerns when an 'invisible' *.reg file is imported, and feel better when they can see what happened.

The direct link is: http://nativeex.boot...ummyDisk.Script

BTW: There is a tool to convert *.reg to WinBuilder script format:
http://www.boot-land...?...post&p=6627

Peter

#15 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 18 August 2009 - 09:26 AM

Thanks Peter.

I am sorry I uploaded a new script with fixes for minor errors in the text boxes, check for MountStorPe (which I feel is needed, as otherwise, most people will be unhappy with the results), etc. and also moved the script to the first post.

I have quickly incorporated the change and uploaded the script.

Awaiting further feedback. Thanks.

#16 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 18 August 2009 - 11:37 AM

As suggested by Lancelot, changed the name to USBDummyDisk.script.

Have uploaded the latest script with the new name.

#17 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 18 August 2009 - 11:48 AM

Thank you oriensol,

Script also available on LiveXP server :whistling:

#18 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 18 August 2009 - 11:58 AM

As suggested by Lancelot, changed the name to USBDummyDisk.script.

Have uploaded the latest script with the new name.


The version 3 is uploaded to the nativeEx server.

And if you see into your first post, I added a 'Thanks'.

I usually do not give a 'Thanks' just on the description of a new functionlity. I wait until I tested successfully. :whistling:

Peter

#19 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 18 August 2009 - 12:16 PM

I would like to thank all of you - Peter, Lancelot, jaclaz, cdob, Nuno - for the warm welcome, help with the script and acceptance.

I hope to contribute going forward wherever I can.

PS. Learnt about the 'Thanks', button which I just noticed.

#20 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 18 August 2009 - 01:31 PM

@oriensol

When I tested the latest version I got an error that a needed file was not found.

Why did you add ...\Apps\...\MountStor.script to the dependencies: Your script worked on my system without it.

And I think, to make a driver depending on installation of an app, is not the best idea ...

Peter

#21 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 18 August 2009 - 01:45 PM

Sorry about that - it is not essential.

I thought for a normal user, it would be a good idea to ensure that MountStorPE is included in the build, so that if a USB stick is to be added later on, it would be viewable in explorer, etc.

I wrote this in the interface too, saying that if it is not needed, it can later be deselected.

You can probably suggest a better way. Removing it is fine with me - I was only thinking of the 'more normal' user, if I may say so :whistling:

As you can see, I am new to this!

#22 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 18 August 2009 - 01:53 PM

Is there a concept of 'optionally dependent' or just a warning?

#23 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 18 August 2009 - 03:40 PM

Is there a concept of 'optionally dependent' or just a warning?

In the nativeEx world (LiveXP, NaughtyPE, nativeEx_barebone, NativePE, ...) there exist a script feature 'Verify'.

This checks in the beginning of the build special conditions and gives Errors or Warnings when the conditions are not met.

On Errors the build is stopped, on Warning the build continues after the user closed the warning display.

The checks are defined in the scripts where they belong to, and only performed, when the script is selected.

In this case I inserted into the USBDummyDisk.Script:

[Verify]

If {%$$$:Main.Selected%} & !{%MountStorePE:Main.Selected%} Then

?"It is recommended to select MountStorePE.Script, too";

Using the verify makes the script able to give warning in projects, where unlike LiveXP there MountPEStore may be unselected by default or not even not downloaded, if somebody chooses the 'minimum' level.

It would be too much to explain the syntax here. You can go to Basic > !WBManager > Verify Project and click the Help Button.

I uploaded the changed version to the nativeEx server.

Peter

#24 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 18 August 2009 - 04:02 PM

Hi oriensol

Better to remove mounstorpe from depend, logically your script do not depend on mounstorpe :whistling:
and I dont think verify section needed too, MountStorPE is already default selected on LiveXP project and if a 'normal user' select your script (s)he should read the interface contaning your advice to use mounstorpe. (Dont worry, normal users start reading after having troubles, besides carelful users always read before)

;)

#25 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 19 August 2009 - 01:14 AM

Thanks Peter for the info on Verify. Have modified the verify section to check for USBSupport(USB Mass Storage Devices) to create an error (as this is essential) and removed the check for MountStorPe.

Thanks Lancelot for your suggested changes. I have incorporated them.

I have also deleted the dummy.reg from attachments, as it is no longer needed.

Have uploaded the latest script.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users