| Author |
Message |
| < MOA 2.4 ~ update of setup-tool |
|
Posted:
Sun May 24, 2009 9:23 pm
|
|
|
mad scientist
Joined: 01 Jun 2005
Posts: 2454
Location: Winterberg - Sauerland
|
|
Hi
It is required to update the setup tool so that it builds with latest infs.
I plan to remove the test-options from the setup-tool completely.
Another constant is the woes with vdk.
Looks like vdk.exe can only be reliably used when the host is MOA.
Maybe it would be a good idea to completely give up with creating the ramloading images on regular Windows.
It is so much easier when the building host is MOA.
Also it would be much much easier for me to write scripted setups for special builds like
VMplayer-kiosk
View-kiosk
ColdClone CD
and so on ...
In practical terms this would look like
1. step - done on reular Windows
- run setup > create MOA-core
this then creates a MOA-standard suitable to boot on machines with little RAM - 96 MB at least. Optionally add Converter so that this CD is really useful.
2. step - boot this CD on a real machine or VM with one partition dedicated to MOA-builds.
If you do that in a VM dedicating a disk is no issue - just create a MOA-building VM with a new disk.
If you do that on real metal you use a USB-disk or stick or truecrypt-container.
Then you simply run the setup again and this time the postprocessing options will work reliable.
Comments ? |
|
|
|
|
|
 |
|
Posted:
Mon May 25, 2009 1:00 pm
|
|
|
mad scientist
Joined: 12 Dec 2008
Posts: 219
Location: Bergen, Norway
|
|
| continuum wrote: |
Another constant is the woes with vdk.
Looks like vdk.exe can only be reliably used when the host is MOA.
Maybe it would be a good idea to completely give up with creating the ramloading images on regular Windows.
Comments ?
|
I just came to think that maybe the commands used to mount the images can be changed. What is the command line used when creating/mounting these images?
Maybe there's a better combination of tools/commands that will work on windows hosts (I believe the mip tool can do part of the stuff from the cmdline).
Joakim |
|
|
|
|
|
 |
|
Posted:
Mon May 25, 2009 2:16 pm
|
|
|
mad scientist
Joined: 01 Jun 2005
Posts: 2454
Location: Winterberg - Sauerland
|
|
Hi Joakim
have a look at this autoit-code - if you have any suggestions let me know.
Note that I do not even create the images on the fly - I use premade blanks ones as that gives less problems.
Is the mip-tool freely available ?
If i change tools for the setup I want to make it easier.
if the user must have mip already installed I wonder if it is worth the change ???
| Code: |
Func _createimgFAT()
_disableMENU()
_driveletter()
GUICtrlSetData ($logscreen, @CRLF & "-------------------- create fat image",1)
_RunDos("md ram-images\fat")
_RunDos('move pebuilder\bartpe\_sfx_ ram-images\fat\_sfx_')
GUICtrlSetData ($logscreen, @CRLF & "-------------------- copy bootsector",1)
_RunDos('md ram-images\fat\I386')
_RunDos('copy pebuilder\bartpe\\bootsect.bin ram-images\fat\bootsect.bin')
FileInstall("setupldr.bin", @ScriptDir & "\ram-images\fat\I386\SETUPLDR.BIN")
_RunDos('copy pebuilder\bartpe\i386\NTDETECT.COM ram-images\fat\I386\NTDETECT.COM')
GUICtrlSetData ($logscreen, @CRLF & "-------------------- writing winnt.sif",1)
_RunDos('echo > ram-images\fat\\WINNT.SIF [SetupData]')
_RunDos('echo >> ram-images\fat\\WINNT.SIF BootDevice="ramdisk(0)"')
_RunDos('echo >> ram-images\fat\\WINNT.SIF BootPath="\i386\System32\"')
_RunDos('echo >> ram-images\fat\\WINNT.SIF OsLoadOptions = "/noguiboot /fastdetect /minint /rdpath=FAT.IMG"')
GUICtrlSetData ($logscreen, @CRLF & "-------------------- copy fat.exe",1)
FileInstall("fat.exe", @ScriptDir & "\ram-images\fat\fat.exe")
GUICtrlSetData ($logscreen, @CRLF & "-------------------- extract fat.exe",1)
_RunDos(@ScriptDir & "\ram-images\fat\fat.exe -e -y")
;_RunDos("del ram-images\fat\fat.exe")
GUICtrlSetColor($logscreen,0xff0000)
_RunDOS("vdk close * /F > r.txt")
$PID = ProcessExists("vdk.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)
_RunDOS("vdk stop")
_RunDOS("vdk remove")
GUICtrlSetData ($logscreen, @CRLF & "-------------------- vdk open * ram-images\fat\fat.img /rw /p:0 /l:" & $workdrive & ":",1)
RunWait(@WindowsDir & "\system32\vdk.exe open * " & @ScriptDir & "\ram-images\fat\fat.img /rw /p:0 /l:" & $workdrive & ":")
Sleep(3000)
If FileExists($workdrive & ":\") Then GUICtrlSetData ($logscreen, @CRLF & "-------------------- mount ok ",1)
If not FileExists($workdrive & ":\") Then GUICtrlSetData ($logscreen, @CRLF & "-------------------- mount failed ",1)
GUICtrlSetData ($logscreen, @CRLF & "-------------------- copying files to image ",1)
_RunDOS("echo %date% > " & $workdrive & ":\created.txt")
GUICtrlSetData ($logscreen, @CRLF & '-------------------- bin\RoboCopy.exe pebuilder\BartPE ' & $workdrive & ': *.* /R:5 /W:3 /S /E /ZB /COPY:DAT',1)
;RunWait(@WindowsDir & "\system32\vdk.exe open * ram-images\fat\fat.img /rw /p:0 /l:" & $workdrive & ":")
If FileExists($workdrive & ":\") Then _RunDos('bin\RoboCopy.exe pebuilder\BartPE ' & $workdrive & ': *.* /R:5 /W:3 /S /E /ZB /COPY:DAT')
_RunDos('dir /b /s ' & $workdrive & ':\*.* > ram-images\fat\files-in-fat-img.txt')
GUICtrlSetData ($logscreen, @CRLF & "-------------------- files copied - closing image ",1)
_RunDOS("vdk close * /F")
If FileExists($workdrive & ":\") Then GUICtrlSetData ($logscreen, @CRLF & "-------------------- unmount image failed ",1)
If not FileExists($workdrive & ":\") Then GUICtrlSetData ($logscreen, @CRLF & "-------------------- unmount image ok ",1)
If not FileExists($workdrive & ":\") Then GUICtrlSetColor($logscreen,0x000000)
GUICtrlSetData ($logscreen, @CRLF & "-------------------- creating moa24-fat.iso ",1)
_RunDos('bin\mkisofs.exe -iso-level 4 -volid "MOA-fat" -b bootsect.bin -no-emul-boot -boot-load-size 4 -hide bootsect.bin -hide boot.catalog -o "iso-out\moa24-fat.iso" "ram-images\fat"')
_RunDos('move ram-images\fat\_sfx_ pebuilder\bartpe\_sfx_ ')
GUICtrlSetData ($logscreen, @CRLF & "-------------------- look in iso-out directory",1)
_enableMENU()
EndFunc
|
|
|
|
|
|
|
 |
|
Posted:
Mon May 25, 2009 5:31 pm
|
|
|
mad scientist
Joined: 12 Dec 2008
Posts: 219
Location: Bergen, Norway
|
|
The reason why I asked for the cmdline is because using the cmdline "vdk.exe open 0 file.img /rw" and "vdk.exe close 0" works fine multiple time in a row. I use it all the time with right-clicks (shortcut to batch in sendto folder.
It means it could be the usage of the switches *, p: or l:. What about copying the data to the mounted disk by name instead of by driveletter, and let vdk automount in /rw mode to the first available driveletter.
This is a possible cause that comes to my mind.
Joakim |
|
|
|
|
|
 |
|
Posted:
Mon May 25, 2009 5:40 pm
|
|
|
mad scientist
Joined: 01 Jun 2005
Posts: 651
|
|
Mount a disk by name ?
How would I do that ?
- you are right - I could skip the /p parameter.
In the early version of the setup-tool I used vdk open 0 bla bla ... as well. I don't remember why I changed that some versions ago ? |
|
|
|
|
|
 |
|
Posted:
Mon May 25, 2009 6:06 pm
|
|
|
mad scientist
Joined: 12 Dec 2008
Posts: 219
Location: Bergen, Norway
|
|
| stella7 wrote: |
Mount a disk by name ?
How would I do that ?
|
Copy the data to the mounted disk named MOA23-BANDIT or whatever it's called, instead of by the driveletter. I have some AutoIt code for it somewhere, just don't know where it is right now.
Joakim |
|
|
|
|
|
 |
|