Sanbarrow.com


First more or less stand-alone BartPE/VMware WS5 built

MOA-plugin 1

 

This screenshot shows Puppy-linux and Slax running inside virtual machines. Both VMs are booted from ISO-files that are stored on my latest BartPE-built-CD.
The system loads into RAM completly so that you can change CDs after BartPE has booted up.
Ask questions here - look for MOA-shell.

Download the file moaplugin.exe here - it contains all *.inf, *.cmd and *.ini that you will need to roll your own BartPE/VMware LiveCD.

 

enter cheatcode ...

 


At boot-time you will have to choose one out of three options:

1. reuse moahome - select this if you run the CD in compagnon with a
USB/Firewire-traveldisk.
On your traveldisk you need to create a directory "moahome" - it contains subdirs like "home", "temp", "programfiles" and "vm". This directories will be linked to the same directories in your RAMdrive R:\
I use sysinternals junction.exe to do this.
2. use a RAMfile - I started to use this "trick" some months ago - see the discussion in the CD-forum
3. use the conventional RAMdrive

The system-bootup is controlled by the cmd loadbase.cmd - you should adapt it to your needs.

 

setup network ...

 


I use penetcfg.exe to setup the network.

VMnet1 uses 192.168.52.1

VMnet8 uses 192.168.132.1

The IPs for the virtual Nics are hardcoded - changing them after the system is up is not trivial - as the IP settings are used by VMware-DHCP and NAT-service.

I recommend not to change the IPs - if you really need to do so - please ask me before you try it - as you have to edit more files than you might think!

 

select shell ...

 


The MOA-CD offers a selection of shells:

I recommend to use the bluebox-shell as shown in the first screenshot if you want to run VMware.
If you want to do P2V or things like that you can of course use a more user-friendly explorer-shell.
PEshell is used as the main-system-shell - use it to power down or restart the complete system.
Other options are:
CMD - command-line only
VMware-workstation
VMware-player - not available with Workstation 5 oder 4.5.2
Taskmanager

 

yes - the system has an explorer ....

 


I know that a lot of Windows-users don't feel well if they don't have an explorer - so I added the option to run explorer as the shell.

As this explorer-shell is much smaller than for example Sherpyas XPE don't expect the same functionality like you get with XPE.

 

I designed the shell with speed and small footprint in mind.

 

 

Prepare Windows-sources by editing hivecls.inf:

 

You will need 2k3-sp1 Windows-sources - if you don't have a CD with Servicepack 1 integrated you can use BartPE-builder or nlite to slipstream the servicepack into the 2k3 built 3790.
I use PEbuilder 3.1.3 and as this version has problems with one of the source-infs you need to copy all files to some writeable area as you have to edit the file hivecls.inf.
Go to the end of the file and look for a [Strings]-section. If you find two [Strings]-sections you need to merge this two sections into one - simply delete the second [Strings]-line. PEbuilder can't handle two [Strings]-sections and the result would be some strange directory names starting with %...
(Thanks to Sherpya for finding this)

 

Download all files mentioned in this block ...


Sysinternals junction.exe - this is required as it is needed by the startup-batch to link from RAMdrive to where-ever ...
Sysinternals sync.exe - this is not required though I am sure I will use it as soon as we start to play with virtual disks ...

Paragliders setpagefile.exe - this is required - this is a small GUI that will help you to select a local disk for paging
Paragliders hwpnp.exe - this is required - it is used to detect plug'n'play hardware
Korales Services PE - this is not required - but if you know it you will surely want to add it - also hosted by Paraglider

Sherpyas infcachebuilder.exe - this is required. You need to run this after Pebuilder has created the output-directory. It is needed to speed up booting and to enable plug'n'play. The link points to Sherpyas buildscripts.

Ken Katos vdk.exe - this is required. In fact it is one of the most important ingredients. Thanks Ken Kato for sharing this great tool.
Ken Katos virtual floppy drive - this is not required - but you surely want to add it ...

Quicksofts RAMdisk - extended version or better is required - the RAMdisk is not freely available - it's just 6 Euros that you will not regret having spend for a reliable RAMdisk ...

PEbuilder 3.1.3 - this is obviously required. I have no idea when Bart Lagerwij will release a new version - you might have heard about 3.1.5 or 3.1.7 - I have tested with 3.1.3 only so make sure you download the same version.

VMware-sources
This build starts with Workstation 5 - so you need to have an active Workstation 5 installation as we need to export your licence. If you already have upgraded to Workstation 5.5 - no problem. Simply create a new 2k3-sp1 VM and install Workstation 5 inside of that VM. You will not be able to start VMs with this VM in a VM but it will do for this purpose.

Have I forgotten anything? - I guess no - all files that are not listed here are either part of the moaplugin or come with the PEbuilder.

 

Prepare PEbuilder ...

 

Extract a fresh copy of PEbuilder 3.1.3

Rename pebuilder\plugin to plugin-org

Prepare MOA

 

Extract a fresh copy of moaplugin and copy the subdirectory "plugin" to "pebuilder\plugin"

 

Populate the directory pebuilder\plugin\zzz-sanbarrowshell\

 

Check this directory - it should contain all files that are listed here - the first group is contained in the moaplugin but there are some more files that you need to copy from your working 2k3-sp1/VMware system.

I have listed some files as optional - feel free to add or skip them.

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cmds required

 

i386\system32\shell\loadbase.cmd
i386\system32\shell\loadvmware0.cmd
i386\system32\shell\loadvmware1.cmd

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; penetcfg required

 

i386\system32\shell\penetcfg-dhcp-moon-hamburger.ini
i386\system32\shell\penetcfg-dhcp.ini
i386\system32\shell\penetcfg-static.ini
i386\system32\shell\penetcfg-vmware-only.ini
i386\system32\shell\penetcfg-vm-default.ini
i386\system32\shell\penetcfg.ini

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; peshell required

 

i386\system32\shell\peshell.exe
i386\system32\shell\peshell.ini

 

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wallpapers ...

 

i386\system32\shell\nu2go.bmp

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cmds optional

 

i386\system32\shell\hwpnp1.cmd
i386\system32\shell\hwpnp2.cmd
i386\system32\shell\hwpnp3.cmd

i386\system32\sam.reg,,4

 

;;; included in moa-plugin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; bluebox required


i386\system32\shell\blackbox.rc
i386\system32\shell\bluebox.exe
i386\system32\shell\bsetroot.exe
i386\system32\shell\blueboxhk.dll
i386\system32\shell\menu.rc
i386\system32\shell\sanbarrow
i386\system32\shell\sanbarrowgreen


;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ocx into system32

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; copy from your working system



i386\system32\comdlg32.ocx
i386\system32\mscomct2.ocx
i386\system32\tabctl32.ocx

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; redistributable files (VMware)
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; copy from your working system

 

i386\system32\atl.dll
i386\system32\mfc71.dll
i386\system32\mfc71u.dll
i386\system32\mscomct2.ocx
i386\system32\msvcp71.dll
i386\system32\msvcr71.dll
i386\system32\msxml3.dll
i386\system32\msxml3r.dll
i386\system32\richtx32.ocx

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; copy from your working system


i386\system32\msvbvm50.dll
i386\system32\emptyregdb.dat
i386\system32\msjava.dll

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; penetcfg required
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; copy from pebuilder\plugin-org

 

i386\system32\shell\penetcfg.exe
i386\system32\shell\penetcfg.lic

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; nu2menu is optional
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; copy from pebuilder\plugin-org


i386\system32\shell\nu2menu.exe
i386\system32\shell\nu2menu.xml
i386\system32\shell\nu2menumsg.exe
i386\system32\shell\setres.exe
i386\system32\shell\peloader.exe
i386\system32\shell\peshutdown.exe

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; misc programfiles required
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; download from http://www.paraglidernc.com/


i386\system32\shell\setpagefile.exe
i386\system32\shell\hwpnp.exe
i386\system32\shell\hwpnpdll.dll

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; download from http://sysinternals.com


i386\system32\shell\junction.exe
i386\system32\shell\sync.exe

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; misc programfiles optional
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; nice to have but optional



i386\system32\shell\screenhunter.exe
i386\system32\shell\servicespe.exe
i386\system32\shell\thegun.exe
i386\system32\shell\regexpander.exe
i386\system32\shell\sleep.exe
i386\system32\shell\EXECUTEENCRYPTED.EXE
i386\system32\shell\ob1.exe

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ken kato required
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; download from http://chitchat.at.infoseek.co.jp/


i386\system32\shell\vdk.exe
i386\system32\shell\vdk.sys

 

;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ken kato optional
;;; files ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; download from http://chitchat.at.infoseek.co.jp/


i386\system32\shell\vfd.dll
i386\system32\shell\vfd.exe
i386\system32\shell\vfd.sys
i386\system32\shell\vfdwin.exe

 

Prepare RAMDISK

 

Populate the directory the directory pebuilder\plugin\ramdiskpro with the files from your copy of the extended RAMdisk
and make sure that you don't overwrite the inf that is already there.

In case you want to use another RAMdisk - feel free to try it - remember to check if your RAMdisk can be resized by the commands used in loadbase.cmd
If you need to change the inf-file as well - comment any entries in this inf that deal with %temp% or %profilesdir%

FAQ

 

Why do you use ramdrive R:\ ?

 

Simply because I like to build my plugins on systems with the same layout as BartPE.
I simply don't know how to assign a harddisk to a floppy-driveletter.
If you still insist on useing letter B: - I would miss the options I have by useing R:\ ....

 

Why don't you use "Default User"

 

I want to run things like OpenShell SSH-server and be ready for RDesktop - I need a username that is possible, that can be established in the SAM-database so that I can create registry-entries by useing a full install.
That's why my default user uses a ONE-WORD username - simply Moon.
As I don't like names with spaces "all users" are "anybody"
I admit, this is unusual. If you don't like it, you can stop reading here as all the VMware-related stuff needs exactly this environment.

 

Why do you allways use the RAMdisk ?

 

I allways start with a small RAMdisk and create blank directories:

R:\home
R:\temp
R:\programfiles
R:\redos
R:\vm

Then I take a look around

- if I find a traveldisk (USB or FireWire) that I used before it will contain the directory "moahome".
If this directory "moahome" contains the file "useme.tag" I accept this invitation and I use junctions to link the 5 directories from the RAMdisk to the same structure inside "moahome".

- if I don't find "moahome" on a traveldisk or localdisk I offer the choice to use a RAMfile. If this is wanted a virtual disk is extracted to the selected local-directory. It contains the same directory structure like the "moahome" directory.
Again I use junctions to link from R:\... to the RAMfile

- if none of the options above is possible I extract the "moahome"-tree from a 7zip-self-extracting archive into the RAMdisk.

No matter where I built my home - it allways looks the same.

I agree - this maybe unusual - ... so what ... it is better than anything that I've seen before and I am sure you will like it too.


Why is the R:\vm\vmware directory blank ?

 

If I decide to run Workstation 5 I look around and see where I can find the necessary files. If I find them on a local disk - fine!
I create a junction from R:\vm\vmware to the local copy and can run the rest of the vmware-launch commands as usual - pointing to the directory specified in the registry: R:\vm\vmware
In short terms: R:\vm\vmware is blank as it simply points to anywhere.

Don't try things like ...


... add a RAMdisk-resizers - if you add RAMdisk-resizers in spite of our recommendations you will immediately loose all support by sanbarrow.com

... play with profiles - if you thing you need to change the layout of the home-directory you will immediately loose all support by sanbarrow.com

... start to play with bootvid.dll or other kernel-related files you will immediately loose all support by sanbarrow.com

 Home    Top