The story so far...

Apologies in advance if this is a little lengthy

I have created a master XP SP2 image <700Mb that contains
1-all the drivers for all our current harware set (D500, 510, 530, 7100)
2-all MS post SP2 hotfixes
3-some registry tweaks and customisations
4-a standard default user profile

I can use ZEN via PXE to deploy this image to any of the above types of
workstations and after imaging, the workstation will reboot and go through
a mini sysprep setup to detect hardware differences etc. At the end of the
sysprep, a guirunonce script installs the MS uphcleaner, the NW client
using an ACU script, ZEN agent and Windows Messaging. The workstation
reboots, ZISWIN restores image safe data (if there is any), the
workstation reboots once again and hey presto, it's ready for action.

This whole process takes around 13-20 minutes on a 100mbit FD network
connection and has so far worked every time without fail.

As some of our users are at the end of <10mbit connections, we would like
to be able to...

1-image workstation with base image
2-allow workstation to complete sysprep, client install and ZISWIN restore
3-take an image of the workstation to a local disk partition
4-reboot and let user carry on working as normal

We would then like the option of being able to have a user phone up if
they had a major problem and allow the service desk analyst to be able to
reimage the PC from the local image partition in around 3-4 mins so that
the user is back up and running in the minimum amount of time.

I've been experimenting with the following imaging script that uses a
series of flag files on the hard disk to determine what work needs to be
done. The trouble is, that I seem to be going round in circles trying to
get the PXE to realise when work really needs to be done and when not. If
anyone has a clue what I'm on about, or could suggest some other way of
doing what I want to do, then please let me know!

Thanks very much

My script...

#Imaging Script
cd /bin

#Setting Hard Disk to UDMA mode
hdparm -d1 /dev/hda

#Beginning of functions

firstimage ()
#Deleting partition 1
img pd1
#Deleting partition 2
img pd2
#Deleting partition 3
img pd3
#Deleting partition 4
img pd4
#Create 10Gb NTFS partition
img pc1 ntfs 10000
#Make 10Gb NTFS partition active
img pa1
#Make 2Gb FAT32 partition
img pc2 fat32 2000
#Restore base image from ZEN1 to 10Gb NTFS partition
img restorep zen1 //zen1.x.y/vol1/image/standard.zmd a1:p1

copyimage ()
#Copy the image on first partition (10gb ntfs) to second partition (2gb
echo Copying image to partition two
img makel /mnt/harddisk/local.zmg comp=1

reimage ()
#mount second partition (2gb fat32)
mount /dev/hda2 /mnt/harddisk
img restorel /mnt/harddisk/local.zmg a1:p1

#End of functions

#mount first partition (10gb ntfs)
mount /dev/hda1 /mnt/harddisk

if [ -e /mnt/harddisk/reimage.flg ]
umount /mnt/harddisk

if [ -e /mnt/harddisk/sysprep.flg ]
umount /mnt/harddisk
mount /dev/hda2 /mnt/harddisk
if [ -e /mnt/harddisk/local.zmg ]

if [ -e /mnt/harddisk/support/script.cmd ]
umount /mnt/harddisk